diff --git a/.eslintrc.cjs b/.eslintrc.cjs index babcee61a92..1ff019dc2d6 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -9,7 +9,7 @@ const nodeFiles = [ `**/prebuild.${jsSuffixes}`, `**/prebuild/**/*.${jsSuffixes}`, `**/scripts/**/*.${jsSuffixes}`, - `packages/new-design/lib/**/*.${jsSuffixes}`, + `packages/studio/lib/*.${jsSuffixes}`, `sites/backend/**/*.${jsSuffixes}`, `sites/*/mdx/**/*.${jsSuffixes}`, `sites/*/themes/**/*.${jsSuffixes}`, @@ -60,16 +60,6 @@ module.exports = { 'no-console': 'off', }, }, - { - files: frontendFiles, - excludedFiles: nodeFiles, - extends: ['next'], - settings: { - next: { - rootDir: 'sites/dev/', - }, - }, - }, { files: [`**/*.${jsSuffixes}{,.mustache}`], excludedFiles: [].concat(mongoFiles, nodeFiles, frontendFiles), diff --git a/.github/workflows/dependabot-sync.yml b/.github/workflows/dependabot-sync.yml deleted file mode 100644 index fb5c444ab17..00000000000 --- a/.github/workflows/dependabot-sync.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: Sync Dependabot Bump -on: - pull_request: - types: [opened, synchronize] - -permissions: - contents: write - -jobs: - sync: - if: ${{ github.actor == 'dependabot[bot]' }} - name: Sync dependency files - runs-on: ubuntu-latest - - steps: - - name: Checkout Repository - uses: actions/checkout@v3 - with: - ref: ${{ github.head_ref }} - - name: Setup Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node-version }} - - name: Install dependencies - run: | - cd packages/core - npm i --workspaces=false --no-save - cd ../../scripts - npm i --workspaces=false --no-save - cd ../ - env: - CI: true - - name: Run Sync Script - run: node ./scripts/sync-dependencies.mjs ${{ github.head_ref }} - - name: Reconfigure - run: node --experimental-json-modules --no-warnings ./scripts/reconfigure.mjs - - name: Bootstrap - run: yarn install - - name: Commit Changes - run: | - git add . - git status - git config user.name github-actions - git config user.email github-actions@github.com - git commit -m "[dependabot skip] chore(deps): bumped ${{ github.head_ref }} changes in config/dependencies.yaml" - git push diff --git a/.gitignore b/.gitignore index 985b39ac1a0..424bde05ef3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,12 @@ # See https://help.github.com/ignore-files/ for more about ignoring files. dump production.sqlite +.husky # .env .env *.key +*.env # Plugins plugins/plugin-theme/src/bundle.css.js @@ -14,16 +16,17 @@ plugins/plugin-theme/css packages/core/coverage packages/*/report -# Any NPM or Yarn lock files +# Any Yarn lock files designs/*/package-lock.json designs/*/yarn.lock packages/*/package-lock.json packages/*/yarn.lock plugins/*/package-lock.json plugins/*/yarn.lock +yarn.lock -# NPM lock files for sites (we use yarn) -sites/*/package-lock.json +# Yarn lock files for sites (we use npm) +sites/*/yarn.lock # Nx cache .nx/cache @@ -42,26 +45,16 @@ packages/new-design/shared/.gitignore packages/new-design/lib/banner.mjs sites/*/public/img/og/* -# Orgdocs prebuild artifacts -sites/orgdocs/src/lib/designs.mjs -sites/orgdocs/src/lib/designinfo.mjs -sites/orgdocs/src/lib/i18n.mjs -sites/orgdocs/docs/designs/*/options/readme.mdx -sites/orgdocs/authors.json -sites/orgdocs/showcase-tags.mjs - -# Lab auto-generated content -sites/lab/lib -sites/lab/public/android-chrome-192x192.png -sites/lab/public/android-chrome-384x384.png -sites/lab/public/apple-touch-icon.png -sites/lab/public/browserconfig.xml -sites/lab/public/favicon-16x16.png -sites/lab/public/favicon-32x32.png -sites/lab/public/favicon.ico -sites/lab/public/mstile-150x150.png -sites/lab/public/safari-pinned-tab.svg -sites/lab/public/site.webmanifest +# Org prebuild artifacts +sites/org/src/lib/designs.mjs +sites/org/src/lib/designinfo.mjs +sites/org/src/lib/i18n.mjs +sites/org/docs/designs/*/options/readme.mdx +sites/org/authors.json +sites/org/showcase-tags.mjs +sites/org/design-examples.mjs +sites/org/docs/designs/*.mdx +sites/org/recent-blog-posts.mjs # sde auto-generated content sites/sde/public/android-chrome-192x192.png @@ -87,25 +80,15 @@ sites/dev/public/mstile-150x150.png sites/dev/public/safari-pinned-tab.svg sites/dev/public/site.webmanifest -# org auto-generated content -sites/org/public/android-chrome-192x192.png -sites/org/public/android-chrome-384x384.png -sites/org/public/apple-touch-icon.png -sites/org/public/browserconfig.xml -sites/org/public/favicon-16x16.png -sites/org/public/favicon-32x32.png -sites/org/public/favicon.ico -sites/org/public/mstile-150x150.png -sites/org/public/safari-pinned-tab.svg -sites/org/public/site.webmanifest - # Node dependencies node_modules # Build folders dist build -export + +# But don't ignore point/dist reference +!/sites/dev/docs/reference/api/point/dist/ # Prebuild files prebuild/*.json @@ -147,3 +130,6 @@ scripts/verdaccio.sh # e2e test results sites/*/playwright-report + +# Local Netlify folder +.netlify diff --git a/.husky/pre-commit b/.husky/pre-commit index 37236231717..2312dc587f6 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1 +1 @@ -yarn lint-staged +npx lint-staged diff --git a/.prettierignore b/.prettierignore index d289ffa1006..10c6479679b 100644 --- a/.prettierignore +++ b/.prettierignore @@ -27,4 +27,5 @@ yarn.lock .all-contributorsrc .nvmrc ansible.cfg -sites/shared/prebuild/data/*.mjs +sites/org/docs/docs/designs/*/options/readme.mdx +/.nx/workspace-data diff --git a/CHANGELOG.md b/CHANGELOG.md index 88c99f5f595..f1020ad4953 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,9 @@ ## Unreleased + +## 4.0.0 (2024-04-01) + ### bibi #### Changed @@ -133,8 +136,25 @@ - The `withCondition` named export is deprecated and will always return true. +### collection + +#### Added + + - Added a new `@freesewing/collection` package that bundles all our designs + +### config + +#### Added + + - Added a new `@freesewing/config` package for shared configuration + ### core +#### Breaking + + - FreeSewing new requires NodeJS 20 (or more recent) + - We removed all but English translations. We still support i18n in our core library and designs, but no longer provide translations + #### Added - The `Path.rotate()` method was added to the core API. @@ -144,6 +164,30 @@ - Fix an issue when splitting path on start or end point. Fixes +### i18n + +#### Added + + - The `@freesewing/i18n` package holds translations in English for where they are needed + +### studio + +#### Added + + - Added `@freesewing/studio`, our new development environment + +### react + +#### Added + + - The `@freesewing/react` package holds shared components, hooks, and context for our React-based frontends + +### utils + +#### Added + + - Added a new `@freesewing/utils` package for shared utils + ## 3.2.0 (2024-02-11) @@ -225,12 +269,6 @@ - Calling `Path.join` with a second parameter to indicate that the resulting paths most be closed is now deprecated and will be removed in FreeSewing v4. -### react-components - -#### Added - - - This Pattern component now supports translation of nested arrays of strings, giving you more flexibility to concatenate translated parts of strings - ## 3.1.0 (2023-12-26) @@ -424,12 +462,6 @@ - Make Path.split() more robust when handling edge-case. Fixes - Prevent utils.circlesIntersect() from running sqrt on a negative number. Fixes -### new-design - -#### Fixed - - - Removed unwanted debug output - ## 3.0.0 (2023-09-30) @@ -675,16 +707,6 @@ - Make generatePartTransform a named export -### new-design - -#### Changed - - - We're now loading content from the main branch by default - -#### Fixed - - - Add bin entry to package.json - ## 2.21.2 (2022-06-30) @@ -1092,8 +1114,24 @@ - 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. +### i18n + +#### Changed + + - Migrated from Rollup to Esbuild for all builds + +#### Fixed + + - Added missing lab namespace for English + ### models +#### Changed + + - Migrated from Rollup to Esbuild for all builds + +### utils + #### Changed - Migrated from Rollup to Esbuild for all builds @@ -1202,12 +1240,6 @@ - Fix bug in Svg.escapeText() that only escaped the first quote -### backend - -#### Fixed - - - Mitigate risk of denial-of-service attacks in catch-all route - ## 2.20.4 (2022-01-28) @@ -1231,6 +1263,12 @@ ## 2.20.2 (2022-01-27) +### i18n + +#### Fixed + + - Patterns options were always in English due to symlinks being used + ## 2.20.1 (2022-01-27) @@ -1559,6 +1597,12 @@ - Added support for `settings.scale` +### i18n + +#### Fixed + + - Fixed issue that was causing plugin translations to always be in English + ## 2.19.9 (2022-01-09) @@ -1991,6 +2035,13 @@ - Pattern.on() is now chainable as it returns the Pattern object +### i18n + +#### Fixed + + - Fixed bug in resolving of shared pattern options + - Removed optional chaining which broke node v12 support + ### snapseries #### Added @@ -2037,6 +2088,16 @@ - Handle path.offset() of very short curves with control points on the start or end point Closes [#1257](https://github.com/freesewing/freesewing/issues/1257) +### i18n + +#### Added + + - Added translations for Yuri + +#### Fixed + + - Added optional chaining so missing options always lead to clear error message + ## 2.17.4 (2021-08-20) @@ -2049,6 +2110,18 @@ ## 2.17.3 (2021-08-16) +### i18n + +#### Added + + - New translations + +### utils + +#### Fixed + + - Added missing `bustPointToUnderbust` measurement to `neckstimate` + ## 2.17.2 (2021-08-15) @@ -2064,6 +2137,12 @@ - Added new ffsa option to let the user control the extra SA for flat-felled seams Closes [#1251](https://github.com/freesewing/freesewing/issues/1251) +### i18n + +#### Added + + - Added new ffsa option for simon & simone + ### models #### Added @@ -2185,9 +2264,21 @@ - Fix a bug in `path.shiftAlong` where no point is returned if the distance to shift is a fraction of one step (1/25mm) into a new path segment See [#1140](https://github.com/freesewing/freesewing/issues/1140) +### i18n + +#### Changed + + - Changed antman references to antperson + ## 2.16.2 (2021-05-05) +### i18n + +#### Changed + + - String updates + ## 2.16.1 (2021-05-30) @@ -2395,6 +2486,19 @@ - Changed `department` setting in config in line with new grouping +### i18n + +#### Added + + - New translations for pattern filter + +### utils + +#### Changed + + - neckstimate now takes an extra `noRound` parameter to return the unrounded value + - measurementDiffers takes an extra `absolute` value that can be set to false to get the non-absolute and non-rounded value + ## 2.16.0 (2021-05-24) @@ -2423,6 +2527,12 @@ - Fixed third button not showing up See [#973](https://github.com/freesewing/freesewing/issues/973) +### i18n + +#### Changed + + - Changes to cfp strings + ## 2.15.4 (2021-05-08) @@ -2554,6 +2664,13 @@ - Don't round coordinates internally to avoid path.split misses +### i18n + +#### Added + + - Added translation for new Titan options + - Added translations for Charlie + ## 2.14.0 (2021-03-07) @@ -2569,6 +2686,12 @@ - Replaced grainline indicator on pocket with cut-on-fold indicator +### i18n + +#### Added + + - Added translations for Cornelius + ## 2.13.2 (2021-02-21) @@ -2617,6 +2740,12 @@ - Added missing sleeve notch on yoke +### utils + +#### Added + + - Pass pattern handle to tiler + ## 2.13.0 (2021-02-13) @@ -2670,6 +2799,12 @@ - Make sure roudEnd and roundStart points are always available +### i18n + +#### Added + + - Translation for Hortensia + ## 2.12.1 (2021-01-27) @@ -2794,6 +2929,16 @@ - Removed unused lengthBonus option +### i18n + +#### Changed + + - New strings for new features + +#### Fixed + + - Type in Simon title + ## 2.10.7 (2020-11-18) @@ -2809,6 +2954,12 @@ ## 2.10.5 (2020-11-14) +### i18n + +#### Fixed + + - Added missing `cty.` translations to non-English language files + ## 2.10.4 (2020-11-13) @@ -2871,6 +3022,18 @@ - Added the `info` type to raised events - Added support for conditional loading of plugins +### i18n + +#### Added + + - Added translations for plugin-title + - Added translations for teagan + - Added some translations for the UI + +#### Fixed + + - Replaced a few identical files with symlinks + ## 2.8.1 (2020-08-16) @@ -2981,6 +3144,12 @@ - Added a new `debug` setting - Shorthand now proxies objects to allow debug and raise +### utils + +#### Added + + - Added backend calls for creating gists/issues on Github + ## 2.7.0 (2020-07-12) @@ -3258,6 +3427,13 @@ - [Properly escape quotes in imperial units](https://github.com/freesewing/freesewing/issues/437) +### i18n + +#### Changed + + - Added translations for Titan + - Removed `Circumference` suffix from measurement names + ### models #### Changed @@ -3266,6 +3442,21 @@ - Ported models to the crotchDepth measurement. See [#425](https://github.com/freesewing/freesewing/issues/425) - Removed `Circumference` suffix from measurement names +### utils + +#### Added + + - Added new `isDegMeasurement` method. See [#358](https://github.com/freesewing/freesewing/issues/358) + - `neckStimate` now supports all new measurements. See [#416](https://github.com/freesewing/freesewing/issues/416) + +#### Changed + + - Changed `neckstimate` to handle new `shoulderSlope` degree measurement. See [#358](https://github.com/freesewing/freesewing/issues/358) + - Changed `neckstimate` to support all new measurements. See [#416](https://github.com/freesewing/freesewing/issues/416) + - Ported `neckstimate` to the crotchDepth measurement. See [#425](https://github.com/freesewing/freesewing/issues/425) + - Removed `Circumference` suffix from measurement names + - Added the `isDegMeasurement` method + ## 2.6.0 (2020-05-01) @@ -3310,6 +3501,12 @@ - utils now includes `Bezier` which holds the bezier-js library so you don't need to re-import it - We no longer set the plugin configuration/data object to fall in `pattern.use()` +### i18n + +#### Changed + + - Changes to support the renaming of @freesewing/fu to @freesewing/florence + ## 2.5.0 (2020-04-05) @@ -3319,9 +3516,21 @@ - Diana is a top with a draped neck +### i18n + +#### Added + + - title, description, and options for Dianna + ## 2.4.6 (2020-03-23) +### i18n + +#### Fixed + + - Fixed an bug in the i18n package + ## 2.4.5 (2020-03-19) @@ -3337,6 +3546,12 @@ - Check whether frontScyeDart option is zero prior to implementing it +### utils + +#### Changed + + - neckstimate() now returns values rounded to nearest mm + ## 2.4.4 (2020-03-15) @@ -3373,12 +3588,30 @@ ## 2.4.3 (2020-03-12) +### i18n + +#### Added + + - Added more translations + ## 2.4.2 (2020-03-08) +### i18n + +#### Added + + - Added more strings + ## 2.4.1 (2020-03-04) +### utils + +#### Fixed + + - [#542](https://github.com/freesewing/freesewing.org/issues/542): Prevent neckstimate from throwing when getting an unexpected measurement + ## 2.4.0 (2020-02-29) @@ -3542,12 +3775,34 @@ - Added the `Path.noop()` method - Added the `Path.insop()` methods +### i18n + +#### Added + + - Added translations for Breanna + +#### Changed + + - Added/Updated strings for the 2.2 frontend changes + - Changed `Joost De Cock` to `Joost` because spam filters don't like cock + +#### Removed + + - Removed the files for homepage translation, and moved that content to markdown + - Removed the files for editor translation, as it is no longer used + ### models #### Changed - Extended the menswear size range to have 10 different sizes, just like womenswear +### utils + +#### Changed + + - Neckstimate now uses proportions only + ## 2.1.9 (2020-01-18) @@ -3585,6 +3840,12 @@ ## 2.1.6 (2019-11-24) +### utils + +#### Fixed + + - [#317](https://github.com/freesewing/freesewing.org/issues/317): Fixed bug where format was not passed to formatImperial + ## 2.1.5 (2019-11-19) @@ -3594,12 +3855,40 @@ ## 2.1.3 (2019-10-18) +### i18n + +#### Added + + - More translated strings + +### utils + +#### Changed + + - Adjusted slope of the shoulderToShoulder measurement in neckstimate data + +#### Fixed + + - [#250](https://github.com/freesewing/freesewing.org/issues/250): Model page stays empty with pre 2.0 model data: Error: 'neckstimate() requires a valid measurement name as second parameter. (received underBust)' + ## 2.1.2 (2019-10-14) +### i18n + +#### Fixed + + - Fixed issue where symlinks were causing all languages to export English strings + ## 2.1.1 (2019-10-13) +### utils + +#### Fixed + + - Fixed an issue with the formatMm method not adding units + ## 2.1.0 (2019-10-06) @@ -3645,6 +3934,23 @@ - The pattern super constructor now sets a `config` property that holds the pattern configuration. This means that unlike before, there is no need to instantiate a pattern to access its config. You can just import the pattern, and it's config property will contain the pattern config. +### i18n + +#### Added + + - Added translations for Penelope, Waralee, and Simone + +### utils + +#### Added + + - Added backend methods for administration + - Added the resendActivationEmail method to backend + +#### Fixed + + - Fixed an issue where optionDefault was not handling list options correctly + ## 2.0.4 (2019-09-27) @@ -3663,6 +3969,12 @@ - [#106](https://github.com/freesewing/freesewing/issues/106): Fix incorrect hem allowance +### utils + +#### Fixed + + - Fix measurementDiffers to pass breasts parameter to neckstimate + ## 2.0.2 (2019-09-06) @@ -3686,6 +3998,18 @@ - [#102](https://github.com/freesewing/freesewing.org/issues/102): Fixed 'Snippets not defined' error when drafting a seperate button placket - [#103](https://github.com/freesewing/freesewing.org/issues/103): Fixed 'hemSa not defined' when drafting paperless Simon without seam allowance +### i18n + +#### Added + + - [#90](https://github.com/freesewing/freesewing/issues/90): Added missing option translations for Benjamin, Florent, Sandy, Shin, and Theo + +### utils + +#### Fixed + + - Removed lingering debug statement in formatImperial + ## 2.0.1 (2019-09-01) @@ -3704,6 +4028,12 @@ - [#86](https://github.com/freesewing/freesewing/issues/86): The `seatCircumference` measurement was missing, thus making it unavailable on the website +### utils + +#### Added + + - The `measurementDiffers` method is new. + ## 2.0.0 (2019-08-25) @@ -3877,6 +4207,12 @@ ### core +#### Added + + - Initial release + +### i18n + #### Added - Initial release @@ -3893,4 +4229,10 @@ - Initial release +### utils + +#### Added + + - Initial release + diff --git a/README.md b/README.md index 9a66568ba1f..ebc625818f6 100644 --- a/README.md +++ b/README.md @@ -24,11 +24,6 @@ >All Contributors

Follow @freesewing_org on Twitter - Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# FreeSewing @@ -54,7 +44,7 @@ > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -64,7 +54,7 @@ This repository is the FreeSewing *monorepo* holding all FreeSewing's websites, Where the world of makers and developers collide, that's where you'll find FreeSewing. -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate +If you're a maker, checkout [freesewing.eu](https://freesewing.eu/) where you can generate sewing patterns adapted to your measurements. If you're a developer, the FreeSewing documentation lives at [freesewing.dev](https://freesewing.dev/). @@ -76,7 +66,7 @@ functionality of the platform. If you have NodeJS installed, you can try it right now by running: ```bash -npx @freesewing/new-design +npx @freesewing/studio ``` Getting started guides are available for: @@ -92,48 +82,46 @@ show you how to create your first parametric design. To get started with FreeSewing, you can spin up our development environment with: ```bash -npx @freesewing/new-design +npx @freesewing/studio ``` -To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system. -Once you have those, clone (or fork) this repo and run `yarn kickstart`: +To work with FreeSewing's monorepo, you'll need [NodeJS v20](https://nodejs.org) and [lerna](https://lerna.js.org/) on your system. +Once you have those, clone (or fork) this repo and run `npm run kickstart`: ```bash -git clone git@github.com:freesewing/freesewing.git +git clone git@codeberg.org:freesewing/freesewing.git cd freesewing -yarn kickstart +npm run kickstart ``` ## Links 👩‍💻 **Official channels** - - 🪡 Makers website: [FreeSewing.org](https://freesewing.org) + - 🪡 Makers website: [FreeSewing.eu](https://freesewing.eu) - 💻 Developers website: [FreeSewing.dev](https://freesewing.dev) **Social media** - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - - 🐘 Mastodon: [freesewing.social](https://freesewing.social/) + - 🐘 Mastodon: [@freesewing](https://freesewing.social/@freesewing) on [FreeSewing.social](https://freesewing.social/) + - 🐘 Mastodon: [@joost](https://freesewing.social/@joost) on [FreeSewing.social](https://freesewing.social/) **Places the FreeSewing community hangs out** + - 💬 [Forum](https://forum.freesewing.eu/) - 💬 [Discord](https://discord.freesewing.org/) - - 💬 [Facebook](https://www.facebook.com/groups/627769821272714/) - 💬 [Reddit](https://www.reddit.com/r/freesewing/) ## Where to get help 🤯 -Check our [support page](https://freesewing.org/support), or use -the [Issues](https://github.com/freesewing/freesewing/issues) & -[Discussions](https://github.com/freesewing/freesewing/discussions) on -[GitHub](https://github.com/freesewing/freesewing). +For [Support](https://freesewing.eu/support), please use the [forum](https://forum.freesewing.eu). ## License: MIT 🤓 © [Joost De Cock](https://github.com/joostdecock). See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. + ## Contributors ✨ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): diff --git a/artwork/stickers/sticker-2025.svg b/artwork/stickers/sticker-2025.svg new file mode 100644 index 00000000000..37baf7601f5 --- /dev/null +++ b/artwork/stickers/sticker-2025.svg @@ -0,0 +1,754 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + org + FreeSewin + + + + org + r + g + FreeSewin + + r + e + e + S + e + w + i + n + + o + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config/authors.mjs b/config/authors.mjs deleted file mode 100644 index c9dc6fef527..00000000000 --- a/config/authors.mjs +++ /dev/null @@ -1,80 +0,0 @@ -/* - * A list of (documentation) authors. - * The ID is the (future v3) FreeSewing user ID (zero for now) - * The name is what we'll use as display name - */ -export const authors = { - /* - * For these we know their FreeSewing ID and they are ordered by that ID - * Which means new users/contributors will typically go at the bottom - */ - - // The dinosaurs - joostdecock: { id: 1, name: 'Joost De Cock' }, - mocked: { id: 8, name: 'Unknown (mocked in dev)' }, - 'Prof. dr. Sorcha Ní Dhubhghaill': { id: 9, name: 'Prof. dr. Sorcha Ní Dhubhghaill' }, - woutervdub: { id: 132, name: 'Wouter van Wageningen' }, - tangerineshark: { id: 13050, name: 'tangerineshark' }, - Zee: { id: 13460, name: 'Zee' }, - Natalia: { id: 19867, name: 'Natalia Sayang' }, - - // The old guard - 'Sanne Kalkman': { id: 20343, name: 'Sanne Kalkman' }, - bobgeorgethe3rd: { id: 20650, name: 'bobgeorgethe3rd' }, - Tríona: { id: 22104, name: 'Tríona' }, - starfetch: { id: 22708, name: 'starfetch' }, - 'Morgan Frost': { id: 23957, name: 'Morgan Frost' }, - jackseye: { id: 25383, name: 'jackseye' }, - 'Nick Dower': { id: 26126, name: 'Nick Dower' }, - jgfichte: { id: 26295, name: 'jgfichte' }, - 'anna-puk': { id: 26981, name: 'Anna Puk' }, - 'Enoch Riese': { id: 28119, name: 'Enoch Riese' }, - benjamesben: { id: 28838, name: 'Benjamin' }, - 'Joe Schofield': { id: 28809, name: 'Joe Schofield' }, - 'Vili Sinervä': { id: 31336, name: 'Vili Sinervä' }, - Thrunic: { id: 33070, name: 'Thrunic' }, - - // The new faces - 'Paula Vidas': { id: 64919, name: 'Paula Vidas' }, - 'Jonathan Haas': { id: 71843, name: 'Jonathan Haas' }, - - /* - * For the folowwing authors, we don't have their FreeSewing ID - * so if they surface, we should try to get it. - * Then again, these are based on git contributions, so it's - * entirely possible that they don't have an account. - * They are all linked to the anonymous user (id 8) - */ - 'Annie Kao': { id: 8, name: 'Annie Kao' }, - Bart: { id: 8, name: 'Bart' }, - 'James Bradbury': { id: 8, name: 'James Bradbury' }, - 'Glenn Matthews': { id: 8, name: 'Glenn Matthews' }, - 'Raphael Sizemore': { id: 8, name: 'Raphael Sizemore' }, - mergerg: { id: 9, name: 'mergerg' }, - 'Darigov Research': { id: 8, name: 'Darigov Research' }, - 'Jeroen Hoek': { id: 8, name: 'Jeroen Hoek' }, - chri5b: { id: 8, name: 'chri5b' }, - 'Ivo Bek': { id: 8, name: 'Ivo Bek' }, - bijay_d: { id: 8, name: 'bijay_d' }, -} - -/* - * Maps git commiter name to author for those cases where the - * name in the authors table is different - */ -export const gitToAuthor = { - 'Joost De Cock': 'joostdecock', - 'Benjamin F': 'benjamesben', - 'Benjamin Fan': 'benjamesben', - SeaZeeZee: 'Zee', - 'Wouter van Wageningen': 'woutervdub', - 'bobgeorgethe3rd@googlemail.com': 'bobgeorgethe3rd', - '70777269+tangerineshark@users.noreply.github.com': 'tangerineshark', - 'thijs.assies@gmail.com': 'MA-TATAS', - 'Natalia Sayang': 'Natalia', - '109869956+BenJamesBen@users.noreply.github.com': 'benjamesben', - 'vili.m.sinerva@gmail.com': 'Vili Sinervä', - 'bekivo@gmail.com': 'Ivo Bek', - 'paulavidas@gmail.com': 'Paula Vidas', - '104308146+KaerMorhan@users.noreply.github.com': 'Morgan Frost', -} diff --git a/config/badges.yaml b/config/badges.yaml index 3bc899d22bb..c908eee223f 100644 --- a/config/badges.yaml +++ b/config/badges.yaml @@ -7,22 +7,14 @@ _all: link: 'https://opensource.org/licenses/MIT' img: 'https://img.shields.io/npm/l/{{{fullname}}}.svg?label=License' alt: 'License: MIT' - deepscan: - link: 'https://deepscan.io/dashboard#view=project&tid=2114&pid=2993&bid=23256' - img: 'https://deepscan.io/api/teams/2114/projects/2993/branches/23256/badge/grade.svg' - alt: 'Code quality on DeepScan' - issues: - link: 'https://github.com/freesewing/freesewing/issues?q=is%3Aissue+is%3Aopen+label%3Apkg%3A{{name}}' - img: 'https://img.shields.io/github/issues/freesewing/freesewing/pkg:{{name}}.svg?label=Issues' - alt: 'Open issues tagged pkg:{{name}}' contributors: link: '#contributors-' img: 'https://img.shields.io/badge/all_contributors-{{ name }}-pink.svg' alt: 'All Contributors' _social: - twitter: - link: 'https://twitter.com/freesewing_org' - img: 'https://img.shields.io/badge/%F3%A0%80%A0-Follow%20us-blue.svg?logo=twitter&logoColor=white&logoWidth=15' + forum: + link: 'https://forum.freesewing.org' + img: 'https://img.shields.io/badge/%F3%A0%80%A0-Forum-E4405F.svg?logo=discourse&logoColor=white&logoWidth=15' alt: 'Follow @freesewing_org on Twitter' discord: link: 'https://chat.freesewing.org' @@ -32,7 +24,3 @@ _social: link: 'https://freesewing.org/patrons/join' img: 'https://img.shields.io/badge/%F3%A0%80%A0-Support%20us-blueviolet.svg?logo=cash-app&logoColor=white&logoWidth=15' alt: 'Become a FreeSewing Patron' - instagram: - link: 'https://instagram.com/freesewing_org' - img: 'https://img.shields.io/badge/%F3%A0%80%A0-Follow%20us-E4405F.svg?logo=instagram&logoColor=white&logoWidth=15' - alt: 'Follow @freesewing_org on Twitter' diff --git a/config/changelog.yaml b/config/changelog.yaml index ad2170cd8d2..c831ee199cf 100644 --- a/config/changelog.yaml +++ b/config/changelog.yaml @@ -1,8 +1,32 @@ Unreleased: + Changed: + +4.0.0: + date: 2024-04-01 + + Breaking: + core: + - FreeSewing new requires NodeJS 20 (or more recent) + - We removed all but English translations. We still support i18n in our core library and designs, but no longer provide translations + new-design: + - The `@freesewing/new-design` package is removed, use `@freesewing/studio` instead + Added: + collection: + - Added a new `@freesewing/collection` package that bundles all our designs + config: + - Added a new `@freesewing/config` package for shared configuration core: - The `Path.rotate()` method was added to the core API. - The `Path.circleSegment()` method was added to the core API. + i18n: + - The `@freesewing/i18n` package holds translations in English for where they are needed + react: + - The `@freesewing/react` package holds shared components, hooks, and context for our React-based frontends + studio: + - Added `@freesewing/studio`, our new development environment + utils: + - Added a new `@freesewing/utils` package for shared utils Changed: brian: diff --git a/config/dependencies.yaml b/config/dependencies.yaml index bcb070f62b2..e5521150fd8 100644 --- a/config/dependencies.yaml +++ b/config/dependencies.yaml @@ -13,6 +13,9 @@ _types: dev: 'mocha': *mocha 'chai': *chai +# +# Designs +# aaron: peer: '@freesewing/brian': *freesewing @@ -45,21 +48,6 @@ charlie: peer: '@freesewing/titan': *freesewing '@freesewing/snapseries': *freesewing -core: - _: - '@freesewing/core-plugins': *freesewing - 'bezier-js': '6.1.4' - 'hooks': '0.3.2' - 'lodash.get': &_get '4.4.2' - 'lodash.set': &_set '4.3.2' - 'lodash.unset': &_unset '4.5.2' - 'lodash.clonedeep': '^4.5.0' - dev: - 'eslint': &eslint '8.57.0' - 'nyc': '17.1.0' - 'mocha': *mocha - 'chai': *chai - 'sinon': &sinon '^18.0.0' diana: peer: '@freesewing/brian': *freesewing @@ -89,15 +77,6 @@ lily: peer: '@freesewing/titan': *freesewing '@freesewing/paco': *freesewing -new-design: - _: - 'axios': &axios '1.7.2' - 'chalk': '5.3.0' - 'execa': '9.2.0' - 'mustache': &mustache '4.2.0' - 'ora': &ora '8.0.1' - 'prompts': '2.4.2' - 'recursive-readdir': '2.2.3' noble: peer: '@freesewing/bella': *freesewing @@ -105,12 +84,6 @@ paco: peer: '@freesewing/titan': *freesewing '@freesewing/snapseries': *freesewing -core-plugins: - dev: - '@freesewing/plugin-annotations': *freesewing - '@freesewing/plugin-mirror': *freesewing - '@freesewing/plugin-round': *freesewing - '@freesewing/plugin-sprinkle': *freesewing plugintest: peer: '@freesewing/plugin-annotations': *freesewing @@ -124,24 +97,9 @@ plugintest: '@freesewing/plugin-sprinkle': *freesewing '@freesewing/plugin-svgattr': *freesewing '@freesewing/plugin-theme': *freesewing -react-components: - _: - axios: *axios - html-react-parser: "^5.0.7" - nuqs: "^1.17.6" - react-markdown: "^9.0.1" - use-local-storage-state: "19.1.0" - use-session-storage-state: "^19.0.0" - peer: - react: "^18.2.0" -rehype-jargon: - _: - 'unist-util-visit': &unist-util-visit '5.0.0' - 'hast-util-from-html': '2.0.1' -rehype-highlight-lines: - _: - 'unist-util-remove': '4.0.0' sandy: + _: + '@freesewing/plugin-ringsector': *freesewing peer: '@freesewing/snapseries': *freesewing shin: @@ -184,266 +142,139 @@ yuri: '@freesewing/brian': *freesewing '@freesewing/plugin-bust': *freesewing -# Sites go here - -backend: +# +# Plugins +# +core-plugins: _: - '@aws-sdk/client-sesv2': '3.592.0' - '@prisma/client': &prisma '5.15.0' - 'bcryptjs': '2.4.3' - 'cors': '2.8.5' - 'dotenv': '16.4.5' - 'express': '4.19.2' - 'js-yaml': &jsyaml '4.1.0' - 'lodash.get': *_get - 'mustache': *mustache - 'otplib': '12.0.1' - 'passport': '0.7.0' - 'passport-http': '0.3.0' - 'passport-jwt': '4.0.1' - 'pino': '9.2.0' - 'qrcode': '1.5.3' - 'swagger-ui-dist': '5.17.10' - 'swagger-ui-express': '5.0.0' + '@freesewing/plugin-annotations': *freesewing + '@freesewing/plugin-measurements': *freesewing + '@freesewing/plugin-mirror': *freesewing + '@freesewing/plugin-round': *freesewing + '@freesewing/plugin-sprinkle': *freesewing + '@freesewing/plugin-bin-pack': *freesewing + +# +# Packages +# +core: + _: + '@freesewing/core-plugins': *freesewing + 'bezier-js': '6.1.4' + 'hooks': '0.3.2' + 'lodash.get': &_get '4.4.2' + 'lodash.set': &_set '4.3.2' + 'lodash.unset': &_unset '4.5.2' + 'lodash.clonedeep': '^4.5.0' dev: - 'chai': *chai - 'chai-http': '5.1.1' - 'esbuild': '0.21.3' + 'eslint': &eslint '8.57.0' + 'nyc': '17.1.0' 'mocha': *mocha - 'mocha-steps': '1.3.0' - 'nodemon': '3.1.0' - 'prisma': *prisma - -dev: + 'chai': *chai + 'sinon': &sinon '^18.0.0' +collection: _: - '@mdx-js/mdx': &mdx '^3.0.0' - '@mdx-js/react': *mdx - '@mdx-js/runtime': &mdxRuntime '2.0.0-next.9' - '@next/bundle-analyzer': &next '14.2.3' - '@tailwindcss/typography': &tailwindTypography '0.5.13' - 'algoliasearch': &algoliasearch '4.23.3' - 'daisyui': &daisyui '4.11.1' - 'lodash.get': *_get - 'lodash.orderby': &_orderby '4.6.0' - 'lodash.set': *_set - 'next': *next - 'react': &react '18.3.1' - 'react-copy-to-clipboard': &reactCopyToClipboard '5.1.0' - 'react-dom': *react - 'react-hotkeys-hook': &reactHotkeysHook '4.5.0' - 'react-instantsearch-dom': &reactInstantsearchDom '6.40.4' - 'react-instantsearch-hooks-web': &reactInstantsearchHooksWeb '6.47.3' - 'react-swipeable': &reactSwipeable '7.0.1' - 'react-timeago': &reactTimeago '7.2.0' - 'rehype-autolink-headings': &rehypeAutolinkHeadings '7.1.0' - 'rehype-highlight': &rehypeHighlight '7.0.0' - 'rehype-sanitize': &rehypeSanitize '6.0.0' - 'rehype-slug': &rehypeSlug '6.0.0' - 'rehype-stringify': &rehypeStringify '10.0.1' - 'remark': &remark 15.0.1 - # see: https://github.com/npm/cli/issues/2610#issuecomment-1295371753 - 'remark-copy-linked-files': &remarkCopyLinkedFiles 'git+https://git@github.com/joostdecock/remark-copy-linked-files' - 'remark-gfm': &remarkGfm '4.0.0' - 'strip-markdown': &stripMarkdown 6.0.0 - dev: &nextSiteDevDependencies - 'autoprefixer': &autoprefixer '10.4.19' - 'js-yaml': &jsYaml '4.1.0' - 'postcss': &postcss '8.4.38' - 'remark-extract-frontmatter': '3.2.0' - 'remark-mdx-frontmatter': &mdxfrontmatter '5.0.0' - 'tailwindcss': &tailwindcss '3.4.3' - 'yaml-loader': '0.8.1' - -lab: + # Designs + '@freesewing/aaron': *freesewing + '@freesewing/albert': *freesewing + '@freesewing/bee': *freesewing + '@freesewing/bella': *freesewing + '@freesewing/benjamin': *freesewing + '@freesewing/bent': *freesewing + '@freesewing/bibi': *freesewing + '@freesewing/bob': *freesewing + '@freesewing/bonny': *freesewing + '@freesewing/breanna': *freesewing + '@freesewing/brian': *freesewing + '@freesewing/bruce': *freesewing + '@freesewing/carlita': *freesewing + '@freesewing/carlton': *freesewing + '@freesewing/cathrin': *freesewing + '@freesewing/charlie': *freesewing + '@freesewing/cornelius': *freesewing + '@freesewing/diana': *freesewing + '@freesewing/florence': *freesewing + '@freesewing/florent': *freesewing + '@freesewing/gozer': *freesewing + '@freesewing/hi': *freesewing + '@freesewing/holmes': *freesewing + '@freesewing/hortensia': *freesewing + '@freesewing/huey': *freesewing + '@freesewing/hugo': *freesewing + '@freesewing/jaeger': *freesewing + '@freesewing/jane': *freesewing + '@freesewing/lily': *freesewing + '@freesewing/lucy': *freesewing + '@freesewing/lumina': *freesewing + '@freesewing/lumira': *freesewing + '@freesewing/lunetius': *freesewing + '@freesewing/noble': *freesewing + '@freesewing/octoplushy': *freesewing + '@freesewing/onyx': *freesewing + '@freesewing/opal': *freesewing + '@freesewing/otis': *freesewing + '@freesewing/paco': *freesewing + '@freesewing/penelope': *freesewing + '@freesewing/sandy': *freesewing + '@freesewing/shelly': *freesewing + '@freesewing/shin': *freesewing + '@freesewing/simon': *freesewing + '@freesewing/simone': *freesewing + '@freesewing/skully': *freesewing + '@freesewing/sven': *freesewing + '@freesewing/tamiko': *freesewing + '@freesewing/teagan': *freesewing + '@freesewing/tiberius': *freesewing + '@freesewing/titan': *freesewing + '@freesewing/trayvon': *freesewing + '@freesewing/tristan': *freesewing + '@freesewing/uma': *freesewing + '@freesewing/umbra': *freesewing + '@freesewing/wahid': *freesewing + '@freesewing/walburga': *freesewing + '@freesewing/waralee': *freesewing + '@freesewing/yuri': *freesewing + # Plugins + '@freesewing/plugin-bust': *freesewing + '@freesewing/plugin-flip': *freesewing + '@freesewing/core-plugins': *freesewing + # Other + '@freesewing/core': *freesewing + '@freesewing/snapseries': *freesewing +studio: _: - '@mdx-js/mdx': *mdx - '@mdx-js/react': *mdx - '@mdx-js/runtime': *mdxRuntime - '@tailwindcss/typography': *tailwindTypography - 'algoliasearch': *algoliasearch - 'd3-dispatch': &d3dispatch '3.0.1' - 'd3-drag': &d3drag '3.0.0' - 'd3-selection': &d3selection '3.0.0' - 'daisyui': *daisyui - 'i18next': &i18next '23.11.5' - 'lodash.get': *_get - 'lodash.orderby': *_orderby - 'lodash.set': *_set - 'next': *next - 'next-i18next': &nextI18next '15.3.0' - 'ora': *ora - 'react': *react - 'react-copy-to-clipboard': *reactCopyToClipboard - 'react-hotkeys-hook': *reactHotkeysHook - 'react-i18next': &reactI18next '14.1.2' - 'react-instantsearch-dom': *reactInstantsearchDom - 'react-swipeable': *reactSwipeable - 'react-timeago': *reactTimeago - 'rehype-autolink-headings': *rehypeAutolinkHeadings - 'rehype-highlight': *rehypeHighlight - 'rehype-sanitize': *rehypeSanitize - 'rehype-slug': *rehypeSlug - 'rehype-stringify': *rehypeStringify - 'remark-copy-linked-files': *remarkCopyLinkedFiles - 'remark-gfm': *remarkGfm - 'remark-mdx-frontmatter': *mdxfrontmatter - dev: - *nextSiteDevDependencies - -org: + chalk: "^5.2.0" + execa: "^9.5.2" + glob: "^11.0.1" + ora: "^8.2.0" + prompts: "^2.4.2" +react: _: - '@bugsnag/js': &bugsnag 7.23.0 - '@bugsnag/plugin-react': 8.1.1 - '@mdx-js/mdx': *mdx - '@mdx-js/react': *mdx - '@mdx-js/runtime': *mdxRuntime - "@tailwindcss/nesting": &twnesting "^0.0.0-insiders.565cd3e" - '@tailwindcss/typography': *tailwindTypography - 'algoliasearch': *algoliasearch - 'react-copy-to-clipboard': *reactCopyToClipboard - 'daisyui': *daisyui - 'echarts': &echarts 5.5.0 - 'echarts-for-react': &echartsReact 3.0.2 - 'jotai': &jotai '2.8.3' - 'jotai-location': &jotai-location '0.5.5' - 'lodash.get': *_get - 'lodash.orderby': *_orderby - 'lodash.set': *_set - 'luxon': '3.5.0' - 'next': *next - 'next-i18next': *nextI18next - 'ora': *ora - 'react': *react - 'react-dom': *react - 'react-dropzone': &dropzone '14.2.3' - 'react-hotkeys-hook': *reactHotkeysHook - "react-i18next": *reactI18next - 'react-instantsearch-dom': *reactInstantsearchDom - 'react-instantsearch-hooks-web': *reactInstantsearchHooksWeb - 'react-swipeable': *reactSwipeable - 'react-timeago': *reactTimeago - 'react-zoom-pan-pinch': &zoompanpinch '3.4.4' - 'rehype-autolink-headings': *rehypeAutolinkHeadings - 'rehype-highlight': *rehypeHighlight - 'rehype-sanitize': *rehypeSanitize - 'rehype-slug': *rehypeSlug - 'rehype-stringify': *rehypeStringify - 'remark': *remark - 'remark-copy-linked-files': *remarkCopyLinkedFiles - 'remark-gfm': *remarkGfm - 'remark-mdx-frontmatter': *mdxfrontmatter - 'strip-markdown': *stripMarkdown - 'use-local-storage-state': &use-local-storage-state 19.2.0 - 'yaml-loader': 0.8.1 - dev: *nextSiteDevDependencies - -shared: + "@codemirror/lang-yaml": "^6.1.2" + "@uiw/react-codemirror": "^4.23.8" + d3-drag: "3.0.0" + d3-selection: "3.0.0" + diff: "^7.0.0" + echarts: "^5.6.0" + echarts-for-react: "^3.0.2" + file-saver: "^2.0.5" + "highlight.js": "^11.11.1" + html-react-parser: "^5.2.2" + jotai: "^2.12.1" + jotai-location: "^0.5.5" + luxon: "^3.5.0" + mustache: "^4.2.0" + pdfkit: "^0.16.0" + react-diff-viewer-continued: "^4.0.5" + react-dropzone: "^14.3.5" + react-zoom-pan-pinch: "^3.7.0" + svg-to-pdfkit: "^0.1.8" + use-local-storage-state: "^19.5.0" + web-worker: "^1.5.0" + yaml: "^2.7.0" + peer: + react: &react "^19.0.0" +utils: _: - '@next/mdx': *next - '@resvg/resvg-js': '2.6.2' - '@tailwindcss/typography': *tailwindTypography - 'Buffer': '0.0.0' - 'd3-dispatch': '3.0.1' - 'd3-drag': '3.0.0' - 'd3-selection': '3.0.0' - 'daisyui': *daisyui - 'feed': '4.2.2' - 'file-saver': &filesaver '2.0.5' - 'front-matter': '4.0.2' - 'highlight.js': '11.9.0' - 'github-slugger': '2.0.0' - 'jotai': *jotai - 'jotai-location': *jotai-location - 'lodash.clonedeep': '4.5.0' - 'lodash.debounce': &_debounce '^4.0.8' - 'lodash.orderby': *_orderby - 'lodash.unset': *_unset - 'lodash.get': *_get - 'mdast-util-toc': '7.0.1' - 'mermaid': '11.3.0' - 'ora': *ora - 'pdfkit': &pdfkit '0.15.0' - 'postcss-for': &postcssfor '2.1.1' - 'react': *react - 'react-dom': *react - 'react-timeago': *reactTimeago - 'react-zoom-pan-pinch': *zoompanpinch - 'rehype-autolink-headings': *rehypeAutolinkHeadings - 'rehype-highlight': *rehypeHighlight - 'remark-frontmatter': &remarkfrontmatter '5.0.0' - 'remark-mdx-frontmatter': *mdxfrontmatter - "remark-smartypants": &smartypants "3.0.2" - "slugify": &slugify "^1.6.6" - # see: https://github.com/npm/cli/issues/2610#issuecomment-1295371753 - 'svg-to-pdfkit': &svgtopdfkit 'https://git@github.com/eriese/SVG-to-PDFKit' - 'tlds': &rlds '1.252.0' - 'to-vfile': '8.0.0' - 'unist-util-visit': *unist-util-visit - 'use-local-storage-state': *use-local-storage-state - 'web-worker': &webworker '1.3.0' - dev: - 'recursive-readdir': '^2.2.3' - 'html-to-text': '^9.0.5' - -sde: - _: - "@freesewing/core": *freesewing - "@freesewing/core-plugins": *freesewing - "@freesewing/brian": *freesewing - "@freesewing/bent": *freesewing - "@freesewing/titan": *freesewing - "@freesewing/bella": *freesewing - "@freesewing/breanna": *freesewing - "@freesewing/plugin-bust": *freesewing - "@freesewing/plugin-timing": *freesewing - "@freesewing/plugin-theme": *freesewing - "@freesewing/plugin-i18n": *freesewing - "@freesewing/snapseries": *freesewing - "@freesewing/react-components": *freesewing - '@mdx-js/mdx': *mdx - '@mdx-js/react': *mdx - '@mdx-js/runtime': *mdxRuntime - "@tailwindcss/nesting": *twnesting - '@tailwindcss/typography': *tailwindTypography - 'autoprefixer': *autoprefixer - 'axios': *axios - 'd3-dispatch': *d3dispatch - 'd3-drag': *d3drag - 'd3-selection': *d3selection - 'daisyui': *daisyui - 'echarts': *echarts - 'echarts-for-react': *echartsReact - 'file-saver': *filesaver - 'i18next': *i18next - 'jotai': *jotai - 'jotai-location': *jotai-location - 'js-yaml': *jsyaml - 'lodash.debounce': *_debounce - 'lodash.get': *_get - 'lodash.orderby': *_orderby - 'lodash.set': *_set - 'mustache': *mustache - "next": *next - 'next-i18next': *nextI18next - 'pdfkit': *pdfkit - 'postcss-for': *postcssfor - "react": *react - "react-dom": *react - 'react-copy-to-clipboard': *reactCopyToClipboard - 'react-hotkeys-hook': *reactHotkeysHook - "react-i18next": *reactI18next - 'react-dropzone': *dropzone - 'react-swipeable': *reactSwipeable - 'react-timeago': *reactTimeago - 'react-zoom-pan-pinch': *zoompanpinch - 'remark-gfm': *remarkGfm - 'remark-frontmatter': *remarkfrontmatter - 'remark-mdx-frontmatter': *mdxfrontmatter - 'remark-smartypants': *smartypants - "slugify": *slugify - 'svg-to-pdfkit': *svgtopdfkit - 'tailwindcss': *tailwindcss - 'tlds': *rlds - 'use-local-storage-state': *use-local-storage-state - 'web-worker': *webworker - + lodash: "^4.17.21" + tlds: "^1.255.0" diff --git a/config/exceptions.yaml b/config/exceptions.yaml index 778c7d0f2cc..52db272d56f 100644 --- a/config/exceptions.yaml +++ b/config/exceptions.yaml @@ -1,19 +1,11 @@ noNamespace: - rehype-jargon - rehype-highlight-lines -customBuild: - - i18n - - new-design - - prettier-config - - core-plugins - - react-components - - rehype-jargon - - rehype-highlight-lines skipTests: - theo packageJson: backend: - name: backend.freesewing.org + name: backend.freesewing.eu bee: author: bobgeorgethe3rd (https://github.com/bobgeorgethe3rd) benjamin: @@ -30,8 +22,6 @@ packageJson: author: woutervdub (https://github.com/woutervdub) holmes: author: AlfaLyr (https://github.com/alfalyr) - i18n: - private: true jane: author: SeaZeeZee (https://github.com/SeaZeeZee) lab: @@ -44,19 +34,16 @@ packageJson: author: Starfetch (https://github.com/starfetch) magde: author: clegganator259 (https://github.com/clegganator259) - new-design: + studio: exports: '!' bin: - new-design: './index.mjs' + studio: './index.mjs' files: - - README.md - - package.json - - lib/**/* - - shared/**/* - - templates/**/* - - index.mjs - - package.json - - data.mjs + - "lib/" + - "utils/" + - "index.mjs" + - "template/" + - "template/designs/.base/" module: '!' noble: author: woutervdub (https://github.com/woutervdub) @@ -67,26 +54,99 @@ packageJson: prettier-config: type: 'module' exports: { .: './index.json' } - scripts: { build: 'echo "prettier-config: No build required" && exit 0' } keywords: - prettier files: - index.json - package.json - react-components: + react: exports: ".": "internal": "./src/index.mjs" "default": "./dist/index.mjs" + # Legacy "./linedrawings": "./src/linedrawings/index.mjs" "./pattern": "./src/pattern/index.mjs" "./xray": "./src/pattern-xray/index.mjs" + # Components + "./components/Account": "./components/Account/index.mjs" + "./components/Admin": "./components/Admin/index.mjs" + "./components/Breadcrumbs": "./components/Breadcrumbs/index.mjs" + "./components/Button": "./components/Button/index.mjs" + "./components/Collection": "./components/Collection/index.mjs" + "./components/Control": "./components/Control/index.mjs" + "./components/CopyToClipboardButton": "./components/CopyToClipboardButton/index.mjs" + "./components/Design": "./components/Design/index.mjs" + "./components/DiffViewer": "./components/DiffViewer/index.mjs" + "./components/Docusaurus": "./components/Docusaurus/index.mjs" + "./components/Echart": "./components/Echart/index.mjs" + "./components/Editor": "./components/Editor/index.mjs" + "./components/Heading": "./components/Heading/index.mjs" + "./components/Highlight": "./components/Highlight/index.mjs" + "./components/Icon": "./components/Icon/index.mjs" + "./components/Input": "./components/Input/index.mjs" + "./components/Json": "./components/Json/index.mjs" + "./components/KeyVal": "./components/KeyVal/index.mjs" + "./components/Layout": "./components/Layout/index.mjs" + "./components/LineDrawing": "./components/LineDrawing/index.mjs" + "./components/Link": "./components/Link/index.mjs" + "./components/Logo": "./components/Logo/index.mjs" + "./components/Markdown": "./components/Markdown/index.mjs" + "./components/Mini": "./components/Mini/index.mjs" + "./components/Modal": "./components/Modal/index.mjs" + "./components/New": "./components/New/index.mjs" + "./components/Newsletter": "./components/Newsletter/index.mjs" + "./components/Null": "./components/Null/index.mjs" + "./components/Number": "./components/Number/index.mjs" + "./components/Pattern": "./components/Pattern/index.mjs" + "./components/Patrons": "./components/Patrons/index.mjs" + "./components/Popout": "./components/Popout/index.mjs" + "./components/Profile": "./components/Profile/index.mjs" + "./components/Role": "./components/Role/index.mjs" + "./components/SignIn": "./components/SignIn/index.mjs" + "./components/SignUp": "./components/SignUp/index.mjs" + "./components/Spinner": "./components/Spinner/index.mjs" + "./components/Stats": "./components/Stats/index.mjs" + "./components/Tab": "./components/Tab/index.mjs" + "./components/Table": "./components/Table/index.mjs" + "./components/Time": "./components/Time/index.mjs" + "./components/Uuid": "./components/Uuid/index.mjs" + "./components/Ux": "./components/Ux/index.mjs" + "./components/Yaml": "./components/Yaml/index.mjs" + "./components/Xray": "./components/Xray/index.mjs" + # Context + "./context/LoadingStatus": "./context/LoadingStatus/index.mjs" + "./context/Modal": "./context/Modal/index.mjs" + # Hooks + "./hooks/useAccount": "./hooks/useAccount/index.mjs" + "./hooks/useBackend": "./hooks/useBackend/index.mjs" + "./hooks/useControl": "./hooks/useControl/index.mjs" + "./hooks/useDesign": "./hooks/useDesign/index.mjs" + "./hooks/useDesignTranslation": "./hooks/useDesignTranslation/index.mjs" + "./hooks/useSelection": "./hooks/useSelection/index.mjs" + "./hooks/useStateObject": "./hooks/useStateObject/index.mjs" + # Lib + "./lib/RestClient": "./lib/RestClient/index.mjs" + "./lib/logoPath": "./components/Logo/path.mjs" + files: + - "components/" + - "context/" + - "hooks/" + - "lib/" + - "README.md" + scripts: + lint: "eslint 'components/**/*.mjs' 'hooks/**/*.mjs' 'lib/**/*.mjs' 'context/**/*.mjs' 'config/**/*.mjs'" + prettier: "npx prettier --write 'components/**/*.mjs' 'hooks/**/*.mjs' 'lib/**/*.mjs' 'context/**/*.mjs' 'config/**/*.mjs'" + rehype-hightlight-lines: private: true sandy: author: AlfaLyr (https://github.com/alfalyr) shelly: author: Thrunic (https://github.com/Thrunic) + utils: + exports: '!' + module: "./src/index.mjs" onyx: author: Thrunic (https://github.com/Thrunic) opal: diff --git a/config/languages.json b/config/languages.json index d98bcf47368..c68c1808a39 100644 --- a/config/languages.json +++ b/config/languages.json @@ -1 +1 @@ -["en", "fr", "es", "de", "nl", "uk"] +["en"] diff --git a/config/pattern-options.js b/config/pattern-options.js deleted file mode 100644 index b91e171be89..00000000000 --- a/config/pattern-options.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - models: {}, - only: {}, -} diff --git a/config/scripts.yaml b/config/scripts.yaml index 20e1df6b560..8eda0a200b5 100644 --- a/config/scripts.yaml +++ b/config/scripts.yaml @@ -1,12 +1,6 @@ _: - build: &build 'node build.mjs' - 'build:all': 'yarn build' - clean: 'rimraf dist' - mbuild: &mbuild 'NO_MINIFY=1 node build.mjs' symlink: 'mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -' test: 'echo "{{name}}: No tests configured. Perhaps you could write some?" && exit 0' - vbuild: &vbuild 'VERBOSE=1 node build.mjs' - lab: 'cd ../../sites/lab && yarn start' tips: 'node ../../scripts/help.mjs' lint: "npx eslint 'src/**' 'tests/*.mjs'" _types: @@ -27,89 +21,38 @@ core: jsdoc: 'jsdoc -c jsdoc.json -r src' models: test: 'npx mocha tests/*.test.mjs' -new-design: - i18n-only: 'SITE="new-design/shared" node --conditions=internal ../../sites/shared/prebuild/i18n-only.mjs' - wbuild: '!' +studio: lint: "npx eslint 'lib/*.mjs'" - mbuild: '!' - prebuild: 'node --conditions=internal ./prebuild.mjs' test: '!' testci: '!' - vbuild: '!' rehype-highlight-lines: - build: '!' - mbuild: '!' - vbuild: '!' - 'build:all': '!' lint: "npx eslint 'src/*.mjs'" rehype-jargon: lint: "npx eslint 'src/*.mjs'" snapseries: lint: "npx eslint 'src/*.mjs'" -react-components: +react: lint: "eslint 'src/**/*.mjs'" # Sites go here backend: - build: 'node build.mjs' - clean: 'rimraf dist' dev: 'nodemon src/index.mjs' initdb: 'npx prisma db push' - mbuild: *mbuild newdb: 'node ./scripts/newdb.mjs' prettier: "npx prettier --write 'src/*.mjs' 'tests/*.mjs'" rmdb: 'node ./scripts/rmdb.mjs' test: 'npx mocha --require mocha-steps tests/index.mjs' - vbuild: *vbuild -dev: - build: &nextBuild 'next build' - cibuild: 'yarn build && node scripts/algolia.mjs' - clean: &nextClean 'rimraf prebuild/* && rimraf public/locales/*/* && rimraf public/feeds/* && rimraf ../shared/prebuild/data/*' - dev: &nextDev 'next dev -p 8000' - develop: *nextDev - i18n: "SITE=dev node --conditions=internal ../shared/prebuild/i18n-only.mjs" - lint: &nextLint 'next lint' - prebuild: &sitePrebuild 'node --conditions=internal --experimental-json-modules ./prebuild.mjs' - serve: "pm2 start npm --name 'dev' -- run start" - start: &nextStart 'yarn prebuild && yarn dev' +dev: &docusaurus + build: 'docusaurus build' + dev: 'docusaurus start' + lint: 'docusuaurus lint' + prebuild: 'node --conditions=internal --experimental-json-modules ./prebuild.mjs' + start: 'docusaurus start' email: build: 'maizzle build production' dev: 'maizzle serve' -lab: - build: *nextBuild - cibuild: 'yarn build' - dev: *nextDev - develop: *nextDev - i18n: 'SITE=lab node --conditions=internal ../shared/prebuild/i18n-only.mjs' - lint: *nextLint - prebuild: *sitePrebuild - start: 'cd ../org && yarn prebuild && cd - && yarn prebuild && yarn dev' +org: *docusaurus -sde: - build: *nextBuild - cibuild: 'yarn build' - dev: *nextDev - develop: *nextDev - i18n: 'SITE=sde node --conditions=internal ../shared/prebuild/i18n-only.mjs' - lint: *nextLint - prebuild: *sitePrebuild - start: *nextStart - -org: - build: *nextBuild - cibuild: 'yarn build' - clean: *nextClean - dev: *nextDev - develop: *nextDev - i18n: 'SITE=org node --conditions=internal ../shared/prebuild/i18n-only.mjs' - lint: *nextLint - prebuild: *sitePrebuild - start: *nextStart - -sanity: - dev: 'sanity dev' - start: 'sanity start' - build: 'sanity build -y' diff --git a/config/social.mjs b/config/social.mjs deleted file mode 100644 index 0b2ad9dcb4e..00000000000 --- a/config/social.mjs +++ /dev/null @@ -1,10 +0,0 @@ -export const social = { - YouTube: 'https://www.youtube.com/@freesewing', - Discord: 'https://discord.freesewing.org/', - Instagram: 'https://instagram.com/freesewing_org', - Facebook: 'https://www.facebook.com/groups/627769821272714/', - GitHub: 'https://github.com/freesewing', - Reddit: 'https://www.reddit.com/r/freesewing/', - Mastodon: 'https://freesewing.social/@freesewing', - Bluesky: 'https://bsky.app/profile/freesewing.org', -} diff --git a/config/software/designs.json b/config/software/designs.json index 147150bb620..93ce52c9bad 100644 --- a/config/software/designs.json +++ b/config/software/designs.json @@ -4,8 +4,6 @@ "description": "A FreeSewing pattern for a A-shirt or tank top", "design": "Joost De Cock", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "tops", "underwear" @@ -13,8 +11,8 @@ "techniques": [ "hem", "stretch", - "knitBinding", - "curvedSeam" + "knit-binding", + "curved-seam" ] }, "albert": { @@ -22,15 +20,13 @@ "description": "A FreeSewing pattern for an apron", "design": "Wouter Van Wageningen", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "accessories" ], "techniques": [ "hem", - "knitBinding", - "curvedSeam", + "knit-binding", + "curved-seam", "pocket" ] }, @@ -39,8 +35,6 @@ "description": "A FreeSewing pattern for a bikini top", "design": "PrudenceRabbit", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "tops", "swimwear" @@ -48,7 +42,7 @@ "techniques": [ "hem", "stretch", - "curvedSeam", + "curved-seam", "precision" ] }, @@ -60,8 +54,6 @@ "Joost De Cock" ], "difficulty": 3, - "lab": true, - "org": true, "tags": [ "blocks", "tops" @@ -76,8 +68,6 @@ "description": "A FreeSewing pattern for a bow tie", "design": "Wouter Van Wageningen", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "accessories" ], @@ -91,16 +81,14 @@ "description": "A FreeSewing pattern for a menswear body block with a two-part sleeve", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "blocks", "tops" ], "techniques": [ "hem", - "curvedSeam", - "setSleeve" + "curved-seam", + "set-sleeve" ] }, "bibi": { @@ -108,16 +96,14 @@ "description": "A FreeSewing pattern for a knit top body block", "design": "Jonathan Haas", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "blocks", "tops" ], "techniques": [ - "curvedSeam", + "curved-seam", "hem", - "flatSleeve" + "flat-sleeve" ] }, "bob": { @@ -125,25 +111,29 @@ "description": "A FreeSewing pattern for a bib", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "accessories", "infants" ], "techniques": [ - "biasTape", - "curvedSeam", + "bias-tape", + "curved-seam", "snap" ] }, + "bonny": { + "code": "Jonathan Haas", + "description": "A FreeSewing pattern that turns measurements into a body outline", + "design": "Jonathan Haas", + "difficulty": 1, + "tags": [], + "techniques": [] + }, "breanna": { "code": "Joost De Cock", "description": "A FreeSewing pattern for a basic body block for womenswear", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "blocks", "tops" @@ -158,15 +148,13 @@ "description": "A FreeSewing pattern for a basic body block for menswear", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "blocks", "tops" ], "techniques": [ "block", - "flatSleeve" + "flat-sleeve" ] }, "bruce": { @@ -174,8 +162,6 @@ "description": "A FreeSewing pattern for boxer briefs", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "bottoms", "underwear" @@ -183,7 +169,7 @@ "techniques": [ "stretch", "hem", - "curvedSeam", + "curved-seam", "elastic" ] }, @@ -195,8 +181,6 @@ "Joost De Cock" ], "difficulty": 5, - "lab": true, - "org": true, "tags": [ "tops", "coats" @@ -204,12 +188,12 @@ "techniques": [ "hem", "pocket", - "curvedSeam", + "curved-seam", "precision", - "setSleeve", - "weltPocket", + "set-sleeve", + "welt-pocket", "lining", - "princessSeam", + "princess-seam", "interfacing", "button" ] @@ -222,8 +206,6 @@ "Joost De Cock" ], "difficulty": 5, - "lab": true, - "org": true, "tags": [ "tops", "coats" @@ -231,10 +213,10 @@ "techniques": [ "hem", "pocket", - "curvedSeam", + "curved-seam", "precision", - "setSleeve", - "weltPocket", + "set-sleeve", + "welt-pocket", "lining", "interfacing", "button" @@ -248,8 +230,6 @@ "Joost De Cock" ], "difficulty": 4, - "lab": true, - "org": true, "tags": [ "tops", "underwear" @@ -257,7 +237,7 @@ "techniques": [ "boning", "precision", - "curvedSeam", + "curved-seam", "interfacing" ] }, @@ -266,22 +246,20 @@ "description": "A FreeSewing pattern for chino trousers", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "bottoms", "trousers" ], "techniques": [ - "weltPocket", - "curvedSeam", + "welt-pocket", + "curved-seam", "interfacing", "fly", "zipper", "button", "dart", "hem", - "seamPocket" + "seam-pocket" ] }, "cornelius": { @@ -289,14 +267,12 @@ "description": "A FreeSewing pattern for cycling breeches, based on the Keystone drafting system", "design": "Wouter Van Wageningen", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "bottoms", "trousers" ], "techniques": [ - "curvedSeam", + "curved-seam", "fly", "zipper", "button", @@ -308,35 +284,29 @@ "description": "A FreeSewing pattern for a top with a draped neck", "design": "Erica Alcusa Sáez", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam", - "flatSleeve", + "curved-seam", + "flat-sleeve", "hem" ] }, "examples": { "code": "Joost De Cock", - "description": "A FreeSewing pattern holding examples for our documentation", - "lab": false, - "org": false + "description": "A FreeSewing pattern holding examples for our documentation" }, "florence": { "code": "Joost De Cock", "description": "A FreeSewing pattern for a face mask", "design": "Joost De Cock", "difficulty": 1, - "lab": true, - "org": true, "tags": [ "accessories" ], "techniques": [ - "curvedSeam" + "curved-seam" ] }, "florent": { @@ -347,14 +317,12 @@ "description": "A FreeSewing pattern for a flat cap", "design": "Quentin Felix", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "accessories", "hats" ], "techniques": [ - "curvedSeam" + "curved-seam" ] }, "gozer": { @@ -362,8 +330,6 @@ "description": "A FreeSewing pattern for a ghost costume", "design": "Wouter Van Wageningen", "difficulty": 1, - "lab": true, - "org": true, "tags": [ "costumes" ], @@ -376,14 +342,12 @@ "description": "A FreeSewing pattern for a shark plush toy", "design": "Wouter Van Wageningen", "difficulty": 4, - "lab": true, - "org": true, "tags": [ "accessories", "toys" ], "techniques": [ - "curvedSeam", + "curved-seam", "dart" ] }, @@ -395,14 +359,12 @@ "description": "A FreeSewing pattern for a Sherlock Holmes hat", "design": "Erica Alcusa Sáez", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "accessories", "hats" ], "techniques": [ - "curvedSeam", + "curved-seam", "lining" ] }, @@ -414,14 +376,12 @@ "Wouter Van Wageningen" ], "difficulty": 3, - "lab": true, - "org": true, "tags": [ "accessories", "bags" ], "techniques": [ - "curvedSeam", + "curved-seam", "precision", "lining", "zipper" @@ -432,17 +392,15 @@ "description": "A FreeSewing pattern for a zip-up hoodie", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam", + "curved-seam", "pocket", "zipper", "ribbing", - "flatSleeve" + "flat-sleeve" ] }, "hugo": { @@ -450,16 +408,14 @@ "description": "A FreeSewing pattern for a hooded jumper with raglan sleeves", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam", + "curved-seam", "pocket", "ribbing", - "raglanSleeve" + "raglan-sleeve" ] }, "jaeger": { @@ -467,8 +423,6 @@ "description": "A FreeSewing pattern for a sport coat style jacket", "design": "Joost De Cock", "difficulty": 5, - "lab": true, - "org": true, "tags": [ "tops", "coats" @@ -476,10 +430,10 @@ "techniques": [ "hem", "pocket", - "curvedSeam", + "curved-seam", "precision", - "setSleeve", - "weltPocket", + "set-sleeve", + "welt-pocket", "lining", "interfacing", "button" @@ -490,8 +444,6 @@ "description": "A FreeSewing pattern for a 1790s shift", "design": "SeaZeeZee", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "tops", "historical", @@ -503,24 +455,20 @@ }, "legend": { "code": "Joost De Cock", - "description": "A FreeSewing pattern to document pattern notation", - "lab": false, - "org": false + "description": "A FreeSewing pattern to document pattern notation" }, "lucy": { "code": "SeaZeeZee", "description": "A FreeSewing pattern for a historical tie-on pocket", "design": "SeaZeeZee", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "accessories", "historical", "bags" ], "techniques": [ - "curvedSeam" + "curved-seam" ] }, "lumina": { @@ -528,15 +476,13 @@ "description": "A FreeSewing pattern for leggings", "design": "Wouter Van Wageningen", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "bottoms", "trousers" ], "techniques": [ "stretch", - "curvedSeam", + "curved-seam", "elastic" ] }, @@ -545,15 +491,13 @@ "description": "A FreeSewing pattern for leggings", "design": "Wouter Van Wageningen", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "bottoms", "trousers" ], "techniques": [ "stretch", - "curvedSeam", + "curved-seam", "elastic" ] }, @@ -562,8 +506,6 @@ "description": "A FreeSewing pattern for a lacerna, a historical Roman cloak", "design": "Rika Tamaike", "difficulty": 1, - "lab": true, - "org": true, "tags": [ "tops", "coats", @@ -578,8 +520,6 @@ "description": "A FreeSewing pattern for a bike messenger bag", "design": "clegganator259", "difficulty": 3, - "lab": true, - "org": false, "tags": [ "accessories", "bags" @@ -591,17 +531,15 @@ "description": "A FreeSewing pattern for a princess seam bodice block", "design": "Wouter Van Wageningen", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "blocks", "tops" ], "techniques": [ "block", - "curvedSeam", + "curved-seam", "precision", - "princessSeam" + "princess-seam" ] }, "octoplushy": { @@ -609,14 +547,12 @@ "description": "A FreeSewing pattern for an octopus plushy toy", "design": "Wouter Van Wageningen", "difficulty": 4, - "lab": true, - "org": true, "tags": [ "accessories", "toys" ], "techniques": [ - "curvedSeam", + "curved-seam", "precision" ] }, @@ -625,8 +561,6 @@ "description": "A FreeSewing pattern for one-piece garments", "design": "Thrunic", "difficulty": 4, - "lab": true, - "org": true, "tags": [ "swimwear", "pajamas", @@ -634,7 +568,7 @@ ], "techniques": [ "hem", - "curvedSeam", + "curved-seam", "stretch", "lining", "zipper", @@ -646,16 +580,14 @@ "description": "A FreeSewing pattern for overalls", "design": "Thrunic", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "overalls", "onePiece" ], "techniques": [ - "flatFelledSeam", + "flat-felled-seam", "hem", - "curvedSeam", + "curved-seam", "button", "pocket" ] @@ -665,8 +597,6 @@ "description": "A FreeSewing pattern for a baby romper", "design": "Wouter Van Wageningen", "difficulty": 2, - "lab": true, - "org": true, "tags": [], "techniques": [] }, @@ -675,17 +605,15 @@ "description": "A FreeSewing pattern for summer pants", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "bottoms", "trousers" ], "techniques": [ "elastic", - "curvedSeam", + "curved-seam", "pocket", - "weltPocket", + "welt-pocket", "hem" ] }, @@ -694,30 +622,24 @@ "description": "A FreeSewing pattern for a pencil skirt", "design": "Wouter Van Wageningen", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "bottoms", "skirts" ], "techniques": [ "hem", - "curvedSeam", + "curved-seam", "precision", "zipper" ] }, "plugintest": { "code": "Joost De Cock", - "description": "A FreeSewing pattern to test (y)our plugins", - "lab": true, - "org": false + "description": "A FreeSewing pattern to test (y)our plugins" }, "rendertest": { "code": "Joost De Cock", - "description": "A FreeSewing pattern to test (y)our render engine our CSS", - "lab": true, - "org": false + "description": "A FreeSewing pattern to test (y)our render engine our CSS" }, "sandy": { "code": [ @@ -727,14 +649,12 @@ "description": "A FreeSewing pattern for a circle skirt", "design": "Erica Alcusa Sáez", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "bottoms", "skirts" ], "techniques": [ - "curvedSeam", + "curved-seam", "button", "hem" ] @@ -744,8 +664,6 @@ "description": "A FreeSewing pattern for a raglan shirt, perfect for swimshirts", "design": "Thrunic", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "tops", "swimwear" @@ -753,8 +671,8 @@ "techniques": [ "hem", "stretch", - "curvedSeam", - "raglanSleeve" + "curved-seam", + "raglan-sleeve" ] }, "shin": { @@ -762,8 +680,6 @@ "description": "A FreeSewing pattern for swim trunks", "design": "Joost De Cock", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "bottoms", "swimwear" @@ -771,7 +687,7 @@ "techniques": [ "hem", "stretch", - "curvedSeam", + "curved-seam", "elastic" ] }, @@ -780,8 +696,6 @@ "description": "A FreeSewing pattern for a button down shirt", "design": "Joost De Cock", "difficulty": 4, - "lab": true, - "org": true, "tags": [ "tops" ], @@ -789,9 +703,9 @@ "hem", "button", "interfacing", - "curvedSeam", - "flatFelledSeam", - "flatSleeve" + "curved-seam", + "flat-felled-seam", + "flat-sleeve" ] }, "simone": { @@ -799,8 +713,6 @@ "description": "A FreeSewing pattern for a button down shirt (Simone = Simon for people with breasts)", "design": "Joost De Cock", "difficulty": 4, - "lab": true, - "org": true, "tags": [ "tops" ], @@ -808,9 +720,9 @@ "hem", "button", "interfacing", - "curvedSeam", - "flatFelledSeam", - "flatSleeve" + "curved-seam", + "flat-felled-seam", + "flat-sleeve" ] }, "skully": { @@ -818,14 +730,12 @@ "description": "A FreeSewing pattern for skully, our logo, a plushy toy", "design": "Wouter Van Wageningen", "difficulty": 4, - "lab": true, - "org": true, "tags": [ "accessories", "toys" ], "techniques": [ - "curvedSeam", + "curved-seam", "precision" ] }, @@ -834,14 +744,12 @@ "description": "A FreeSewing pattern for a straightforward sweater", "design": "Joost De Cock", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam", - "flatSleeve", + "curved-seam", + "flat-sleeve", "ribbing" ] }, @@ -850,13 +758,11 @@ "description": "A FreeSewing pattern for a zero-waste top", "design": "Joost De Cock", "difficulty": 1, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam" + "curved-seam" ] }, "teagan": { @@ -864,16 +770,14 @@ "description": "A FreeSewing pattern for a T-shirt", "design": "Joost De Cock", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam", + "curved-seam", "hem", - "flatSleeve", - "knitBand" + "flat-sleeve", + "knit-band" ] }, "tiberius": { @@ -881,8 +785,6 @@ "description": "A FreeSewing pattern for a tunica, a historical Roman tunic", "design": "Rika Tamaike", "difficulty": 1, - "lab": true, - "org": true, "tags": [ "tops", "historical" @@ -897,8 +799,6 @@ "Joost De Cock" ], "difficulty": 3, - "lab": true, - "org": true, "tags": [ "blocks", "bottoms" @@ -910,8 +810,6 @@ "description": "A FreeSewing pattern for a tie", "design": "Joost De Cock", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "accessories" ], @@ -925,13 +823,11 @@ "description": "A FreeSewing pattern for a fitted top with prince(ss) seams", "design": "Natalia Sayang", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam", + "curved-seam", "precision" ] }, @@ -940,31 +836,27 @@ "description": "A FreeSewing pattern for a basic, highly-customizable underwear pattern", "design": "Joost De Cock", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "bottoms", "underwear" ], "techniques": [ "elastic", - "curvedSeam" + "curved-seam" ] }, "umbra": { - "code": "Joost De Cock, Jonathan Haas", + "code": ["Joost De Cock", "Jonathan Haas"], "description": "A FreeSewing pattern for a basic, highly-customizable underwear pattern", - "design": "Joost De Cock, Jonathan Haas", + "design": ["Joost De Cock", "Jonathan Haas"], "difficulty": 2, - "lab": true, - "org": true, "tags": [ "bottoms", "underwear" ], "techniques": [ "elastic", - "curvedSeam" + "curved-seam" ] }, "wahid": { @@ -972,17 +864,15 @@ "description": "A FreeSewing pattern for a classic fitted waistcoat", "design": "Joost De Cock", "difficulty": 4, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam", + "curved-seam", "hem", "interfacing", "lining", - "weltPocket", + "welt-pocket", "button" ] }, @@ -991,8 +881,6 @@ "description": "A FreeSewing pattern for a wappenrock (tabard/surcoat), a historical European/medieval (ish) garment", "design": "Rika Tamaike", "difficulty": 1, - "lab": true, - "org": true, "tags": [ "bottoms", "historical" @@ -1006,16 +894,14 @@ "description": "A FreeSewing pattern for wrap pants", "design": "Wouter Van Wageningen", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "bottoms", "trousers" ], "techniques": [ - "curvedSeam", + "curved-seam", "hem", - "weltPocket" + "welt-pocket" ] }, "yuri": { @@ -1023,31 +909,27 @@ "description": "A FreeSewing pattern for a fancy zipless sweater based on the Huey hoodie", "design": "Biou", "difficulty": 3, - "lab": true, - "org": true, "tags": [ "tops" ], "techniques": [ - "curvedSeam", - "flatSleeve", + "curved-seam", + "flat-sleeve", "hem", "button" ] }, "lily": { - "code": "Anna Puk, Joost De Cock", + "code": ["Anna Puk", "Joost De Cock"], "description": "A FreeSewing pattern for basic leggings", "design": "Anna Puk", "difficulty": 2, - "lab": true, - "org": true, "tags": [ "bottoms" ], "techniques": [ "elastic", - "curvedSeam", + "curved-seam", "hem" ] } diff --git a/config/software/packages.json b/config/software/packages.json index 06c041d81fe..70c52b78bb2 100644 --- a/config/software/packages.json +++ b/config/software/packages.json @@ -1,10 +1,12 @@ { + "collection": "All FreeSewing designs bundles into one pacakge, our collection", + "config": "Various configurations for FreeSewing", "core": "A library for creating made-to-measure sewing patterns", + "i18n": "Translation for the FreeSewing project", "models": "Body measurements data for a range of default sizes", - "new-design": "Initializer package for a new FreeSewing design: npx @freesewing/new-design", + "studio": "Initializer package for a the FreeSewing design studio: npx @freesewing/studio", "prettier-config": "FreeSewing's shared configuration for prettier", - "react-components": "React components by/for FreeSewing", + "react": "React components, hooks and context by/for FreeSewing", "snapseries": "A series of common sizes for elastics and other series to be used with snapped percentage options", - "rehype-jargon": "A Rehype plugin for jargon terms", - "rehype-highlight-lines": "A Rehype plugin to add highlighted lines to code blocks" + "utils": "A number of utilities, typically used by FreeSewing frontend code" } diff --git a/config/templates/build.dflt.mjs b/config/templates/build.dflt.mjs deleted file mode 100644 index 99ace216bc8..00000000000 --- a/config/templates/build.dflt.mjs +++ /dev/null @@ -1,35 +0,0 @@ -/* This script will build the package with esbuild */ -import esbuild from 'esbuild' -import pkg from './package.json' assert { type: '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.mjs'], - format: 'esm', - outfile: 'dist/index.mjs', - external: ['@freesewing'], - metafile: process.env.VERBOSE ? true : false, - minify: process.env.NO_MINIFY ? false : true, - sourcemap: true, -} - -// Let esbuild generate the build -const build = async () => { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/config/templates/design.test.mjs.mustache b/config/templates/design.test.mjs.mustache index 7eb4a2e7f16..4639fbcee77 100644 --- a/config/templates/design.test.mjs.mustache +++ b/config/templates/design.test.mjs.mustache @@ -4,7 +4,7 @@ // Dollar signs are allowed in EcmaScript identifier names, // which is helpful when running unrendered Mustache templates through eslint. //}}{{=$$ $$=}} -import { $$Name$$, i18n } from '../src/index.mjs' +import { $$Name$$, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -13,7 +13,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig($$Name$$) +testPatternConfig($$Name$$, about) // Test translation testPatternI18n($$Name$$, i18n) diff --git a/config/templates/design/i18n/index.mjs b/config/templates/design/i18n/index.mjs index 36aac928b67..11028ae01ae 100644 --- a/config/templates/design/i18n/index.mjs +++ b/config/templates/design/i18n/index.mjs @@ -1,8 +1,3 @@ -import en from './en.json' assert { type: 'json' } -import de from './de.json' assert { type: 'json' } -import es from './es.json' assert { type: 'json' } -import fr from './fr.json' assert { type: 'json' } -import nl from './nl.json' assert { type: 'json' } -import uk from './uk.json' assert { type: 'json' } +import en from './en.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/config/templates/design/package.json.mustache b/config/templates/design/package.json.mustache index 22e3a375618..f33a42dc0af 100644 --- a/config/templates/design/package.json.mustache +++ b/config/templates/design/package.json.mustache @@ -2,11 +2,11 @@ "name": "{{name}}", "version": "0.0.1", "description": "{{description}}", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", + "author": "Joost De Cock (https://codeberg.org/joostdecock)", + "homepage": "https://freesewing.eu/", + "repository": "https://codeberg.org/freesewing/freesewing", "license": "MIT", - "main": "dist/index.mjs", + "main": "src/index.mjs", "module": "dist/index.mjs", "scripts": {} } diff --git a/config/templates/design/tests/shared.test.mjs b/config/templates/design/tests/shared.test.mjs index 91b6a8c9884..1765da6d5b3 100644 --- a/config/templates/design/tests/shared.test.mjs +++ b/config/templates/design/tests/shared.test.mjs @@ -3,7 +3,7 @@ import chai from 'chai' import models from '@freesewing/models' import patterns from '@freesewing/pattern-info' -import Pattern from './dist/index.mjs' +import Pattern from './src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/patterns/config.mjs' diff --git a/config/templates/package.dflt.json b/config/templates/package.dflt.json index 709b8412da3..99d9fbdca3a 100644 --- a/config/templates/package.dflt.json +++ b/config/templates/package.dflt.json @@ -12,28 +12,23 @@ }, "keywords": ["freesewing"], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "cibuild_step1": "node build.mjs", - "build": "node build.mjs", "testonly": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register", - "publish": "npm run build && npm publish --access public" + "publish": "npm publish --access public" }, "peerDependencies": {}, "dependencies": {}, "devDependencies": {}, - "files": ["dist/*", "README.md"], + "files": ["src/", "i18n/", "about.json", "README.md"], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/config/templates/plugin/package.json.mustache b/config/templates/plugin/package.json.mustache index 0d3e911a502..cc379d0deec 100644 --- a/config/templates/plugin/package.json.mustache +++ b/config/templates/plugin/package.json.mustache @@ -2,9 +2,9 @@ "name": "{{pluginName}}", "version": "0.0.1", "description": "{{description}}", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", + "author": "Joost De Cock (https://codeberg.org/joostdecock)", + "homepage": "https://freesewing.eu/", + "repository": "https://codeberg.org/freesewing/freesewing", "license": "MIT", "main": "dist/index.mjs", "module": "dist/index.mjs", diff --git a/config/templates/readme.dflt.md b/config/templates/readme.dflt.md index 74e75059891..ed57556067b 100644 --- a/config/templates/readme.dflt.md +++ b/config/templates/readme.dflt.md @@ -14,7 +14,7 @@ > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -31,7 +31,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/#All Contributors

Follow @freesewing_org on Twitter - Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# FreeSewing @@ -54,7 +44,7 @@ > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -64,7 +54,7 @@ This repository is the FreeSewing *monorepo* holding all FreeSewing's websites, Where the world of makers and developers collide, that's where you'll find FreeSewing. -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate +If you're a maker, checkout [freesewing.eu](https://freesewing.eu/) where you can generate sewing patterns adapted to your measurements. If you're a developer, the FreeSewing documentation lives at [freesewing.dev](https://freesewing.dev/). @@ -76,7 +66,7 @@ functionality of the platform. If you have NodeJS installed, you can try it right now by running: ```bash -npx @freesewing/new-design +npx @freesewing/studio ``` Getting started guides are available for: @@ -92,44 +82,42 @@ show you how to create your first parametric design. To get started with FreeSewing, you can spin up our development environment with: ```bash -npx @freesewing/new-design +npx @freesewing/studio ``` -To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system. -Once you have those, clone (or fork) this repo and run `yarn kickstart`: +To work with FreeSewing's monorepo, you'll need [NodeJS v20](https://nodejs.org) and [lerna](https://lerna.js.org/) on your system. +Once you have those, clone (or fork) this repo and run `npm run kickstart`: ```bash -git clone git@github.com:freesewing/freesewing.git +git clone git@codeberg.org:freesewing/freesewing.git cd freesewing -yarn kickstart +npm run kickstart ``` ## Links 👩‍💻 **Official channels** - - 🪡 Makers website: [FreeSewing.org](https://freesewing.org) + - 🪡 Makers website: [FreeSewing.eu](https://freesewing.eu) - 💻 Developers website: [FreeSewing.dev](https://freesewing.dev) **Social media** - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - - 🐘 Mastodon: [freesewing.social](https://freesewing.social/) + - 🐘 Mastodon: [@freesewing](https://freesewing.social/@freesewing) on [FreeSewing.social](https://freesewing.social/) + - 🐘 Mastodon: [@joost](https://freesewing.social/@joost) on [FreeSewing.social](https://freesewing.social/) **Places the FreeSewing community hangs out** + - 💬 [Forum](https://forum.freesewing.eu/) - 💬 [Discord](https://discord.freesewing.org/) - - 💬 [Facebook](https://www.facebook.com/groups/627769821272714/) - 💬 [Reddit](https://www.reddit.com/r/freesewing/) ## Where to get help 🤯 -Check our [support page](https://freesewing.org/support), or use -the [Issues](https://github.com/freesewing/freesewing/issues) & -[Discussions](https://github.com/freesewing/freesewing/discussions) on -[GitHub](https://github.com/freesewing/freesewing). +For [Support](https://freesewing.eu/support), please use the [forum](https://forum.freesewing.eu). ## License: MIT 🤓 © [Joost De Cock](https://github.com/joostdecock). See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. + diff --git a/config/templates/use-design.mjs.mustache b/config/templates/use-design.mjs.mustache deleted file mode 100644 index aa27f3bc54c..00000000000 --- a/config/templates/use-design.mjs.mustache +++ /dev/null @@ -1,17 +0,0 @@ -/* - * This file is auto-generated. - * Any manual changes will be overwritten. - */ -{{#designs}} -import { {{ Name }} as {{ name }} } from '@freesewing/{{ name }}' -{{/designs}} - -export const designs = { -{{#designs}} - {{ name }}, -{{/designs}} -} - -export const useDesign = (design) => (designs[design] ? designs[design] : false) - -export const collection = Object.keys(designs) diff --git a/config/trustees.mjs b/config/trustees.mjs deleted file mode 100644 index 652f6bdf21e..00000000000 --- a/config/trustees.mjs +++ /dev/null @@ -1,35 +0,0 @@ -/* - * This defines the FreeSewing web of trust - * See: https://FreeSewing.dev/reference/trust - */ -export const trustees = { - 1: { - x: 1306, - y: 319, - title: 'joost', - in: 'Antwerp', - }, - 132: { - x: 457, - y: 345, - title: 'woutervdub', - in: 'Seattle', - }, - 13050: { - x: 668, - y: 399, - title: 'karen', - in: 'Chicago', - }, -} - -/* - * These are the connections between the trustees - * See: https://FreeSewing.dev/reference/trust - */ -export const connections = [ - [1, 132], - [1, 13050], -] - -export const lastUpdate = '20240402' diff --git a/crowdin.yml b/crowdin.yml deleted file mode 100644 index 72aa2f76a69..00000000000 --- a/crowdin.yml +++ /dev/null @@ -1,19 +0,0 @@ -content_segmentation: 0 -commit_message: skip-build -pull_request_assignees: - - joostdecock -pull_request_title: 'New Crowdin Translations [skip build]' -pull_request_labels: - - crowdin - - i18n -files: - - source: /markdown/org/**/en.md - translation: /markdown/org/**/%two_letters_code%.md - - source: /sites/**/en.yaml - translation: /sites/**/%two_letters_code%.yaml - - source: /sites/shared/jargon/en.json - translation: /sites/shared/jargon/%two_letters_code%.json - - source: /designs/*/i18n/en.json - translation: /designs/*/i18n/%two_letters_code%.json - - source: /packages/new-design/i18n/en.json - translation: /packages/new-design/i18n/%two_letters_code%.json diff --git a/designs/aaron/README.md b/designs/aaron/README.md index 93db8b61044..0bf77c5f19e 100644 --- a/designs/aaron/README.md +++ b/designs/aaron/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:aaron - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/aaron @@ -59,7 +44,7 @@ A FreeSewing pattern for a A-shirt or tank top > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,50 +25,41 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/brian": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/brian": "4.0.0", + "@freesewing/plugin-bust": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/aaron/src/front.mjs b/designs/aaron/src/front.mjs index 35e5b3f9a7c..2d0b6233241 100644 --- a/designs/aaron/src/front.mjs +++ b/designs/aaron/src/front.mjs @@ -18,7 +18,7 @@ export const front = { shoulderSlopeReduction: 0, chestEase: { pct: 8, min: 0, max: 20, ...pctBasedOn('chest'), menu: 'fit' }, draftForHighBust: { bool: false, menu: 'fit' }, - hipsEase: { pct: 8, min: 0, max: 20, menu: 'fit' }, + hipsEase: { pct: 8, min: 0, max: 20, ...pctBasedOn('hips'), menu: 'fit' }, stretchFactor: { pct: 5, min: 0, max: 15, menu: 'fit' }, armholeDrop: { pct: 10, min: 0, max: 75, menu: 'style' }, lengthBonus: { pct: 10, min: -20, max: 60, menu: 'style' }, diff --git a/designs/aaron/src/index.mjs b/designs/aaron/src/index.mjs index e2f9e8f3451..f5431ee315c 100644 --- a/designs/aaron/src/index.mjs +++ b/designs/aaron/src/index.mjs @@ -1,7 +1,7 @@ import { Design, mergeI18n } from '@freesewing/core' import { i18n as brianI18n } from '@freesewing/brian' import { i18n as aaronI18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { back } from './back.mjs' import { front } from './front.mjs' import { armBinding } from './arm-binding.mjs' @@ -9,7 +9,7 @@ import { neckBinding } from './neck-binding.mjs' // Setup our new design const Aaron = new Design({ - data, + data: about, parts: [back, front, armBinding, neckBinding], }) @@ -27,10 +27,12 @@ const i18n = mergeI18n([brianI18n, aaronI18n], { 'legacyArmholeDepthNo', 'legacyArmholeDepthYes', 'armholeDepth', + 'draftForHighBustNo', + 'draftForHighBustYes', ], }, s: { drop: [] }, }) // Named exports -export { back, front, Aaron, i18n } +export { back, front, Aaron, i18n, about } diff --git a/designs/aaron/tests/shared.test.mjs b/designs/aaron/tests/shared.test.mjs index c01c7865cf0..be5e249cc20 100644 --- a/designs/aaron/tests/shared.test.mjs +++ b/designs/aaron/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Aaron, i18n } from '../src/index.mjs' +import { Aaron, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Aaron) +testPatternConfig(Aaron, about) // Test translation testPatternI18n(Aaron, i18n) diff --git a/designs/albert/README.md b/designs/albert/README.md index d6f4ece5062..038e910d5b4 100644 --- a/designs/albert/README.md +++ b/designs/albert/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:albert - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/albert @@ -59,7 +44,7 @@ A FreeSewing pattern for an apron > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/albert/data.mjs b/designs/albert/data.mjs deleted file mode 100644 index c6a5f83a944..00000000000 --- a/designs/albert/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/albert' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/albert/i18n/de.json b/designs/albert/i18n/de.json deleted file mode 100644 index a2bc1234728..00000000000 --- a/designs/albert/i18n/de.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "t": "Albert, die Schürze", - "d": "Albert ist eine Schürze.", - "p": { - "front": "Vorderseite", - "pocket": "Tasche", - "strap": "Strap" - }, - "s": {}, - "o": { - "backOpening": { - "t": "Hintere Öffnung", - "d": "Steuert die Öffnung an der Rückseite der Schürze" - }, - "chestDepth": { - "t": "Länge des Riemens", - "d": "Steuert die Länge der Riemen" - }, - "lengthBonus": { - "t": "Längenzugabe", - "d": "Steuert die Länge der Schürze" - }, - "bibLength": { - "t": "Latzlänge", - "d": "Steuert die Länge des Latzes" - }, - "bibWidth": { - "t": "Latzbreite", - "d": "Steuert die Breite des Latzes" - }, - "strapWidth": { - "t": "Riemenbreite", - "d": "Steuert die Breite des Riemens" - } - } -} diff --git a/designs/albert/i18n/es.json b/designs/albert/i18n/es.json deleted file mode 100644 index f4da8c32ec6..00000000000 --- a/designs/albert/i18n/es.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "t": "Albert, delantal", - "d": "Albert es un delantal.", - "p": { - "front": "Frente", - "pocket": "Bolsillo", - "strap": "Strap" - }, - "s": {}, - "o": { - "backOpening": { - "t": "Abertura de la espalda", - "d": "Controla la apertura en la parte trasera del Profeta" - }, - "chestDepth": { - "t": "Longitud del Strp", - "d": "Controla la longitud de las correas" - }, - "lengthBonus": { - "t": "Bonus de longitud", - "d": "Controla la longitud del buque" - }, - "bibLength": { - "t": "Longitud de bib", - "d": "Controla la longitud de la bib" - }, - "bibWidth": { - "t": "Ancho bib", - "d": "Controla el ancho de la bib" - }, - "strapWidth": { - "t": "Strap width", - "d": "Controla el ancho de la correa" - } - } -} diff --git a/designs/albert/i18n/fr.json b/designs/albert/i18n/fr.json deleted file mode 100644 index f19bf1b0e5b..00000000000 --- a/designs/albert/i18n/fr.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "t": "Tablier Albert", - "d": "Albert est un tablier.", - "p": { - "front": "Avant", - "pocket": "Poche", - "strap": "Strap" - }, - "s": {}, - "o": { - "backOpening": { - "t": "Ouverture arrière", - "d": "Contrôle l'ouverture à l'arrière du tablier" - }, - "chestDepth": { - "t": "Longueur de l'anse", - "d": "Contrôle la longueur des liens" - }, - "lengthBonus": { - "t": "Supplément de longueur", - "d": "Contrôle la longueur du tablier" - }, - "bibLength": { - "t": "Longueur du plastron", - "d": "Contrôle la longueur du plastron" - }, - "bibWidth": { - "t": "Largeur du plastron", - "d": "Contrôle la largeur du plastron" - }, - "strapWidth": { - "t": "Largeur du lien", - "d": "Contrôle la largeur des liens" - } - } -} diff --git a/designs/albert/i18n/index.mjs b/designs/albert/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/albert/i18n/index.mjs +++ b/designs/albert/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/albert/i18n/nl.json b/designs/albert/i18n/nl.json deleted file mode 100644 index 7b71d88af02..00000000000 --- a/designs/albert/i18n/nl.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "t": "Albert schort", - "d": "Albert is een vork.", - "p": { - "back": "Achterzijde", - "backBase": "Basis rug", - "backPocketWelt": "Back pocket welt", - "base": "Basis", - "bentBack": "Achterzijde Bent", - "bentBase": "Basis Bent", - "bentFront": "Voorzijde Bent", - "bentSleeve": "Mouw Bent", - "bentTopSleeve": "Bovenmouw Bent", - "bentUnderSleeve": "Ondermouw Bent", - "buttonholePlacket": "Knoopsgatenpat", - "buttonPlacket": "Knopenpat", - "collar": "Kraag", - "collarStand": "Kraagstaander", - "cuff": "Manchet", - "fabricTail": "Stof staart", - "fabricTip": "Stof tip", - "frontBase": "Basis voorzijde", - "frontFacing": "Beleg vooraan", - "front": "Voorzijde", - "frontLeft": "Voorzijde links", - "frontLining": "Voering vooraan", - "frontRight": "Voorzijde rechts", - "gusset": "Gusset", - "hoodCenter": "Midden kap", - "hood": "Capuchon", - "hoodSide": "Zijkant kap", - "inset": "Inzet", - "interfacingTail": "Interfacing staart", - "interfacingTip": "Interfacing tip", - "liningTail": "Voering staart", - "liningTip": "Voering tip", - "loop": "Lus", - "panel1": "Deel 1", - "panel2": "Deel 2", - "panel3": "Deel 3", - "panel4": "Deel 4", - "panel5": "Deel 5", - "panel6": "Deel 6", - "panels": "Panelen", - "pocketBag": "Binnenzak", - "pocketFacing": "Zak beleg", - "pocketInterfacing": "Tussenvoering zak", - "pocket": "Zak", - "pocketWelt": "Paspel zak", - "side": "Zijkant", - "sleeveBase": "Basis mouw", - "sleevecap": "Mouwkop", - "sleevePlacketOverlap": "Mouwsplit boven", - "sleevePlacketUnderlap": "Mouwsplit onder", - "sleeve": "Mouw", - "topSleeve": "Bovenmouw", - "top": "Top", - "underCollar": "Onderkraag", - "underSleeve": "Ondermouw", - "waistband": "Tailleband", - "yoke": "Schouderpas" - }, - "s": {}, - "o": { - "backOpening": { - "t": "Rugopening", - "d": "Bepaalt de opening aan de achterkant van de schort" - }, - "chestDepth": { - "t": "Lengte van de badjes", - "d": "Bepaalt de lengte van de bandjes" - }, - "lengthBonus": { - "t": "Lengtebonus", - "d": "Bepaalt de lengte van de schort" - }, - "bibLength": { - "t": "Lengte slabbetje", - "d": "Bepaalt de lengte van het slabbetje" - }, - "bibWidth": { - "t": "Breedte slabbetje", - "d": "Bepaalt de breedte van het slabbetje" - }, - "strapWidth": { - "t": "Breedte bandjes", - "d": "Bepaalt de breedte van de bandjes" - } - } -} diff --git a/designs/albert/i18n/uk.json b/designs/albert/i18n/uk.json deleted file mode 100644 index 8696750e98c..00000000000 --- a/designs/albert/i18n/uk.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "t": "Albert apron", - "d": "Albert is an apron.", - "p": { - "front": "Front", - "pocket": "Pocket", - "strap": "Strap" - }, - "s": {}, - "o": { - "backOpening": { - "t": "Back opening", - "d": "Controls the opening at the back of the apron" - }, - "chestDepth": { - "t": "Strap length", - "d": "Controls the length of the straps" - }, - "lengthBonus": { - "t": "Length bonus", - "d": "Controls the length of the apron" - }, - "bibLength": { - "t": "Bib length", - "d": "Controls the length of the bib" - }, - "bibWidth": { - "t": "Bib width", - "d": "Controls the width of the bib" - }, - "strapWidth": { - "t": "Strap width", - "d": "Controls the width of the strap" - } - } -} diff --git a/designs/albert/package.json b/designs/albert/package.json index 1fe84d37014..3e3f590356d 100644 --- a/designs/albert/package.json +++ b/designs/albert/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/albert", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for an apron", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/albert/src/front.mjs b/designs/albert/src/front.mjs index 8d87c18badb..d96e9bf9aaa 100644 --- a/designs/albert/src/front.mjs +++ b/designs/albert/src/front.mjs @@ -106,16 +106,23 @@ export const front = { if (sa) { const saBase = new Path() - .move(points.bottomLeft.shift(-90, sa)) - .line(points.bottomRight.shift(-90, sa)) - .line(points.topRightBack) + .move(points.bottomLeft.shift(-90, strapWidth - sa)) + .line(points.bottomRight.shift(-90, strapWidth - sa).shift(0, strapWidth - sa)) + .line(points.topRightBack.shift(0, strapWidth - sa)) .curve(points.topRightBackCPfront, points.topRightCPdown, points.topRightHem) - .line(points.topRight.shift(90, sa)) - .line(points.topLeft.shift(90, sa)) + .line(points.topRight.shift(90, strapWidth - sa)) + .line(points.topLeft.shift(90, strapWidth - sa)) paths.sa = saBase .clone() .offset(sa * 2) .addClass('fabric sa') + paths.sa = new Path() + .move(points.bottomLeft) + .line(paths.sa.start()) + .join(paths.sa) + .line(points.topLeft) + .attr('class', 'fabric sa') + if (complete) { paths.hemHint = saBase.clone().offset(sa).addClass('note help') macro('banner', { @@ -127,6 +134,24 @@ export const front = { classes: 'fill-note center', }) } + macro('hd', { + from: points.bottomRight, + to: points.bottomRight.shift(0, strapWidth), + y: points.bottomLeft.y + sa + (sa ? strapWidth : 0) + 15, + id: 'wBottomHem', + }) + macro('vd', { + from: points.topLeft, + to: points.topLeft.shift(90, strapWidth), + x: points.topLeftHem.x - 15, + id: 'foldoverTop', + }) + macro('vd', { + from: points.bottomLeft.shift(270, strapWidth), + to: points.bottomLeft, + x: points.topLeftHem.x - 15, + id: 'hLeftToFoldover', + }) } /* @@ -178,52 +203,33 @@ export const front = { macro('hd', { from: points.bottomLeft, to: points.bottomRight, - y: points.bottomLeft.y + sa + 15, + y: points.bottomLeft.y + sa + (sa ? strapWidth : 0) + 15, id: 'wBottom', }) macro('hd', { from: points.topLeft, to: points.topRight, - y: points.topLeft.y - sa - 15, + y: points.topLeft.y - sa - (sa ? strapWidth : 0) - 15, id: 'wTop', }) macro('vd', { from: points.bottomLeft, to: points.topLeft, - x: points.topLeft.x - 30, + x: points.topLeft.x - 15, id: 'hLeft', }) macro('vd', { from: points.bottomRight, to: points.topRightBack, - x: points.topRightBack.x + sa + 15, + x: points.topRightBack.x + sa + (sa ? strapWidth : 0) + 15, id: 'hRightBottom', }) macro('vd', { from: points.topRightBack, to: points.topRight, - x: points.topRightBack.x + sa + 15, + x: points.topRightBack.x + sa + (sa ? strapWidth : 0) + 15, id: 'hRightTop', }) - macro('vd', { - from: points.topLeftHem, - to: points.topLeft, - x: points.topLeftHem.x - 15, - id: 'foldoverTop', - }) - macro('vd', { - from: points.bottomLeftHem, - to: points.topLeftHem, - x: points.topLeftHem.x - 15, - id: 'hLeftToFoldover', - }) - macro('vd', { - from: points.bottomLeft, - to: points.bottomLeftHem, - x: points.bottomLeftHem.x + sa + 15, - id: 'hBottomHem', - }) - return part }, } diff --git a/designs/albert/src/index.mjs b/designs/albert/src/index.mjs index 9897b7fd4b5..51369b09b32 100644 --- a/designs/albert/src/index.mjs +++ b/designs/albert/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { front } from './front.mjs' import { pocket } from './pocket.mjs' import { strap } from './strap.mjs' @@ -7,9 +7,9 @@ import { i18n } from '../i18n/index.mjs' // Setup our new design const Albert = new Design({ - data, + data: about, parts: [front, pocket, strap], }) // Named exports -export { front, pocket, strap, Albert, i18n } +export { front, pocket, strap, Albert, i18n, about } diff --git a/designs/albert/src/pocket.mjs b/designs/albert/src/pocket.mjs index 62719a04d71..99c2a5ce605 100644 --- a/designs/albert/src/pocket.mjs +++ b/designs/albert/src/pocket.mjs @@ -16,6 +16,7 @@ export const pocket = { units, store, part, + complete, }) => { const pocketSize = store.get('pocketSize') @@ -53,11 +54,11 @@ export const pocket = { .line(points.bottomRight) .line(points.topRight) .line(points.topLeft) - .move(points.bottomLeft) + .line(points.bottomLeft) .close() .attr('class', 'fabric') - if (sa) + if (sa) { paths.sa = new Path() .move(points.bottomLeft) .line(points.bottomRight) @@ -65,7 +66,46 @@ export const pocket = { .line(points.topLeft.shift(90, store.get('strapWidth'))) .offset(sa) .attr('class', 'fabric sa') + paths.sa = new Path() + .move(points.bottomLeft) + .line(paths.sa.start()) + .join(paths.sa) + .line(points.topLeft) + .attr('class', 'fabric sa') + if (complete) { + paths.SAhemHint = new Path() + .move(points.topRight.shift(90, store.get('strapWidth')).shift(0, sa)) + .line(points.topLeft.shift(90, store.get('strapWidth'))) + .addClass('note help') + macro('banner', { + id: 'SAfoldHere', + path: paths.SAhemHint.reverse(), + text: 'albert:foldHere', + repeat: 60, + spaces: 30, + classes: 'fill-note center', + }) + paths.hemHint = new Path() + .move(points.topRight.shift(0, sa)) + .line(points.topLeft) + .setHidden(true) + macro('banner', { + id: 'foldHere', + path: paths.hemHint.reverse(), + text: 'albert:foldHere', + repeat: 60, + spaces: 30, + classes: 'fill-note center', + }) + macro('vd', { + from: points.topLeft, + to: points.topLeft.shift(90, store.get('strapWidth')), + x: points.topLeft.x - 15, + id: 'heightHem', + }) + } + } /* * Annotations */ diff --git a/designs/albert/tests/shared.test.mjs b/designs/albert/tests/shared.test.mjs index 13f70c52092..0ae8eb0f13a 100644 --- a/designs/albert/tests/shared.test.mjs +++ b/designs/albert/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Albert, i18n } from '../src/index.mjs' +import { Albert, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Albert) +testPatternConfig(Albert, about) // Test translation testPatternI18n(Albert, i18n) diff --git a/designs/bee/README.md b/designs/bee/README.md index 675021acacc..00fc6207e51 100644 --- a/designs/bee/README.md +++ b/designs/bee/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:bee - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/bee @@ -59,7 +44,7 @@ A FreeSewing pattern for a bikini top > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/bee/data.mjs b/designs/bee/data.mjs deleted file mode 100644 index f8dece83edc..00000000000 --- a/designs/bee/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/bee' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/bee/i18n/de.json b/designs/bee/i18n/de.json deleted file mode 100644 index f3c3331923e..00000000000 --- a/designs/bee/i18n/de.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "t": "Bee, das Bikini-Oberteil", - "d": "Bee ist ein Bikini-Oberteil", - "p": { - "bandTie": "Band Tie", - "cup": "Cup", - "neckTie": "Neck Tie" - }, - "s": {}, - "o": { - "chestEase": { - "t": "Brustzugabe", - "d": "Kontrolliert die Brustzugabe des zugrunde liegenden Grundschnittes \"Bella\" auf welchem Bee basiert" - }, - "waistEase": { - "t": "Taillenzugabe", - "d": "Kontrolliert die Taillenzugabe des zugrunde liegenden Grundschnittes \"Bella\" auf welchem Bee basiert" - }, - "bustSpanEase": { - "t": "Zugabe im Abstand der Brustpunkte", - "d": "Kontrolliert die Zugabe des Abstandes der Brustpunkte des zugrunde liegenden Grundschnittes \"Bella\" auf welchem Bee basiert" - }, - "topDepth": { - "t": "Obere Tiefe", - "d": "Kontrolliert, wie weit sich der Bikini-Cup nach oben erstreckt" - }, - "bottomCupDepth": { - "t": "Untere Tiefe", - "d": "Kontrolliert, wie weit sich der Bikini-Cup nach unten erstreckt" - }, - "sideDepth": { - "t": "Seitliche Tiefe", - "d": "Kontrolliert, wie weit sich der Bikini-Cup zur Seite erstreckt" - }, - "sideCurve": { - "t": "Seitliche Kurve", - "d": "Kontrolliert die Krümmung der Seite des Bikini-Cups" - }, - "frontCurve": { - "t": "Vordere Kurve", - "d": "Kontrolliert die Krümmung der Vorderseite des Bikini-Cups" - }, - "bellaGuide": { - "t": "Bella anzeigen", - "d": "Zeigt die Umrisse des Bella-Grundschnittes an, auf dem Bee basiert" - }, - "ties": { - "t": "Bänder", - "d": "Sollen Bänder hinzugefügt werden, ja oder nein" - }, - "bandTieWidth": { - "t": "Breite des Brustbandes", - "d": "Kontrolliert die Breite des Bandes um deinen Brustkorb" - }, - "bandTieLength": { - "t": "Länge des Brustbandes", - "d": "Kontrolliert die Länge des Bandes um deinen Brustkorb" - }, - "bandTieEnds": { - "t": "Enden des Brustbandes", - "d": "Möchtest du gerade oder spitze Enden des Brustbandes?" - }, - "bandTieColours": { - "t": "Farben des Brustbandes", - "d": "Möchtest du ein- oder mehrfarbige Brustbänder?" - }, - "neckTieWidth": { - "t": "Breite des Nackenträgers", - "d": "Steuert die Breite des Nackenträgers" - }, - "neckTieLength": { - "t": "Länge des Nackenträgers", - "d": "Steuert die Länge des Nackenträgers" - }, - "neckTieEnds": { - "t": "Enden des Nackenträgers", - "d": "Möchtest du gerade oder spitze Enden des Nackenträgers?" - }, - "neckTieColours": { - "t": "Farben des Nackenträgers", - "d": "Möchtest du ein- oder mehrfarbige Nackenträger?" - }, - "crossBackTies": { - "t": "Gekreuzte Rückenträger", - "d": "Möchtest du die Version von Bee mit gekreuzten Rückenträgern?" - }, - "bandLength": { - "t": "Länge der gekreuzten Rückenträger", - "d": "Kontrolliert die Länge Brustbandes für die Variante von Bee mit gekreuzten Rückenträgern" - }, - "backDartHeight": { - "t": "Höhe der Rückenabnäher (Bella)", - "d": "Kontrolliert die Höhe der Rückenabnäher des zugrunde liegenden Grundschnittes \"Bella\" auf welchem Bee basiert" - }, - "armholeDepth": { - "t": "Tiefen des Armloches (Bella)", - "d": "Kontrolliert die Tiefe des Armloches des zugrunde liegenden Grundschnittes \"Bella\" auf welchem Bee basiert" - }, - "frontArmholePitchDepth": { - "t": "Tiefe des vorderen Armlochdrehpunktes (Bella)", - "d": "Kontrolliert die Tiefe des vorderen Armlochdrehpunktes des zugrunde liegenden Grundschnittes \"Bella\" auf welchem Bee basiert" - }, - "frontShoulderWidth": { - "t": "Vordere Schulterbreite (Bella)", - "d": "Kontrolliert die vordere Schulterbreite des zugrunde liegenden Grundschnittes \"Bella\" auf welchem Bee basiert" - }, - "fullChestEaseReduction": { - "t": "Full chest reduction (Bella)", - "d": "Controls the full chest reduction in the underlying Bella block Bee is based on" - }, - "highBustWidth": { - "t": "Hohe Brustweite (Bella)", - "d": "Kontrolliert die hohe Brustbreite des zugrunde liegenden Grundschnittes \"Bella\" auf welchem Bee basiert" - }, - "shoulderToShoulderEase": { - "t": "Shoulder to Shoulder ease (Bella)", - "d": "Controls the shoulder to shoulder ease in the underlying Bella block Bee is based on" - } - } -} diff --git a/designs/bee/i18n/es.json b/designs/bee/i18n/es.json deleted file mode 100644 index 8965d3401aa..00000000000 --- a/designs/bee/i18n/es.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "t": "Bee, sujetador de bikini", - "d": "Bee el sujetador de un bikini", - "p": { - "bandTie": "Band Tie", - "cup": "Cup", - "neckTie": "Neck Tie" - }, - "s": {}, - "o": { - "chestEase": { - "t": "Holgura de pecho", - "d": "Controla la holgura del pecho en el patrón base (Bella) en el que se basa Bee" - }, - "waistEase": { - "t": "Holgura de cintura", - "d": "Controla la holgura de cintura en el patrón base (Bella) en el que se basa Bee" - }, - "bustSpanEase": { - "t": "Holgura alrededor del busto", - "d": "Controla la holgura de busto en el patrón base (Bella) en el que se basa Bee" - }, - "topDepth": { - "t": "Límite superior", - "d": "Controla hasta qué punto la copa de bikini se extiende hacia arriba" - }, - "bottomCupDepth": { - "t": "Límite inferior", - "d": "Controla hasta qué punto la copa de bikini se extiende hacia abajo" - }, - "sideDepth": { - "t": "Límite lateral", - "d": "Controla hasta qué punto se extiende la copa del bikini hacia el lado" - }, - "sideCurve": { - "t": "Curva lateral exterior", - "d": "Controla la curvatura del lado exterior de la copa del bikini" - }, - "frontCurve": { - "t": "Curva lateral interior", - "d": "Controla la curvatura de la parte lateral interior de la copa del bikini" - }, - "bellaGuide": { - "t": "Mostrar Bella", - "d": "Muestra el contorno del patrón base Bella en el que se basa Bee" - }, - "ties": { - "t": "Cintas", - "d": "Sobre si incluir cintas o no" - }, - "bandTieWidth": { - "t": "Ancho de la cinta del pecho", - "d": "Controla el ancho de las cintas alrededor del pecho" - }, - "bandTieLength": { - "t": "Longitud de la cinta del pecho", - "d": "Controla la longitud de las cintas alrededor del pecho" - }, - "bandTieEnds": { - "t": "Puntas de la cinta del pecho", - "d": "Si prefieres que las puntas de la cinta alrededor del pecho sean planas o acaben en punta" - }, - "bandTieColours": { - "t": "Colores de la longitud de la cinta del pecho", - "d": "Sobre si quieres cintas de un solo color alrededor del pecho o de dos colores." - }, - "neckTieWidth": { - "t": "Ancho de la cinta del cuello", - "d": "Controla el ancho de las cintas alrededor del pecho" - }, - "neckTieLength": { - "t": "Longitud de la cinta del cuello", - "d": "Controla la longitud de las cintas alrededor del pecho" - }, - "neckTieEnds": { - "t": "Puntas de la cinta del cuello", - "d": "Si prefieres que las puntas de la cinta alrededor del pecho sean planas o acaben en punta" - }, - "neckTieColours": { - "t": "Colores de la cinta del cuello", - "d": "Sobre si quieres cintas de un solo color alrededor del pecho o de dos colores." - }, - "crossBackTies": { - "t": "Cintas cruzadas", - "d": "Whether you'd like to use the cross back tie variation of Bee" - }, - "bandLength": { - "t": "Band Length (Cross back ties)", - "d": "Controla la longitud de la cinta alrededor de tu pecho para la versión de tirantes cruzados de Bee" - }, - "backDartHeight": { - "t": "Back dart height (Bella)", - "d": "Controla la altura de la pinza trasera en el patrón base Bella, en el que se basa Bee" - }, - "armholeDepth": { - "t": "Armhole depth (Bella)", - "d": "Controla la profundidad de la sisa en el patron de base Bella en el que se basa Bee" - }, - "frontArmholePitchDepth": { - "t": "Front armhole pitch depth (Bella)", - "d": "Controls the front armhole pitch depth in the underlying Bella block Bee is based on" - }, - "frontShoulderWidth": { - "t": "Front shoulder width (Bella)", - "d": "Controla el ancho de hombros en el patrón de base Bella en el que se basa Bee" - }, - "fullChestEaseReduction": { - "t": "Full chest reduction (Bella)", - "d": "Controls the full chest reduction in the underlying Bella block Bee is based on" - }, - "highBustWidth": { - "t": "High bust width (Bella)", - "d": "Controls the high bust width in the underlying Bella block Bee is based on" - }, - "shoulderToShoulderEase": { - "t": "Ancho de hombros (Bella)", - "d": "Controla el ancho de hombros en el patrón de base Bella en el que se basa Bee" - } - } -} diff --git a/designs/bee/i18n/fr.json b/designs/bee/i18n/fr.json deleted file mode 100644 index 7b29cdbf757..00000000000 --- a/designs/bee/i18n/fr.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "t": "Haut de bikini Bee", - "d": "Bee est un haut de bikini", - "p": { - "bandTie": "Band Tie", - "cup": "Cup", - "neckTie": "Neck Tie" - }, - "s": {}, - "o": { - "chestEase": { - "t": "Aisance de poitrine", - "d": "Contrôle l'aisance de la poitrine dans le bloc de Bella sur lequel est basé Bee" - }, - "waistEase": { - "t": "Aisance à la taille", - "d": "Contrôle l'aisance de la taille dans le bloc de Bella sur lequel est basé Bee" - }, - "bustSpanEase": { - "t": "Aisance de l'écart poitrine", - "d": "Contrôle l'aisance de l'écart de poitrine dans le bloc de Bella sur lequel est basé Bee" - }, - "topDepth": { - "t": "Profondeur supérieure", - "d": "Contrôle jusqu'à quel point le bonnet de bikini s'étend vers le haut" - }, - "bottomCupDepth": { - "t": "Profondeur inférieure", - "d": "Contrôle jusqu'à quel point le bonnet de bikini s'étend vers le bas" - }, - "sideDepth": { - "t": "Profondeur latérale", - "d": "Contrôle jusqu'à quel point le bonnet du bikini se prolonge vers le côté" - }, - "sideCurve": { - "t": "Courbe latérale", - "d": "Contrôle la courbure du côté du bonnet du bikini" - }, - "frontCurve": { - "t": "Courbe frontale", - "d": "Contrôle la courbure du devant du bonnet du bikini" - }, - "bellaGuide": { - "t": "Afficher Bella", - "d": "Affiche le contour du bloc Bella sur lequel est basé Bee" - }, - "ties": { - "t": "Liens", - "d": "S'il faut inclure les liens, oui ou non" - }, - "bandTieWidth": { - "t": "Largeur de la bande (sous poitrine)", - "d": "Contrôle la largeur des bandes autour de votre poitrine" - }, - "bandTieLength": { - "t": "Longueur de la bande (sous poitrine)", - "d": "Contrôle la longueur des bandes autour de votre poitrine" - }, - "bandTieEnds": { - "t": "Finition des bouts de bandes (sous poitrine)", - "d": "Choisir si vous voulez que la pointe de la bande autour de votre poitrine se termine droite ou en pointe" - }, - "bandTieColours": { - "t": "Couleurs de la bande (sous poitrine)", - "d": "Que vous vouliez une seule couleur autour de votre poitrine, ou des couleurs doubles" - }, - "neckTieWidth": { - "t": "Largeur de la bande de cou", - "d": "Contrôle la largeur des bandes autour de votre cou" - }, - "neckTieLength": { - "t": "Longueur de la bande", - "d": "Contrôle la longueur des bandes autour de votre cou" - }, - "neckTieEnds": { - "t": "Fin de la bande de cou", - "d": "Choisir si vous voulez que la pointe de la bande autour de votre cou se termine droite ou en pointe" - }, - "neckTieColours": { - "t": "Couleurs de bande de cou", - "d": "Que vous vouliez une seule couleur autour de votre cou, ou des couleurs doubles" - }, - "crossBackTies": { - "t": "Bandes croisées dans le dos", - "d": "Si vous souhaitez utiliser la variation de dos croisé de Bee" - }, - "bandLength": { - "t": "Longueur de la bande (bandes croisées dans le dos)", - "d": "Contrôle la longueur de la bande autour de votre buste pour la variation du dos croisé de Bee" - }, - "backDartHeight": { - "t": "Hauteur de la pince dos (Bella)", - "d": "Contrôle la hauteur de pince dos dans le bloc de Bella sur lequel est basé Bee" - }, - "armholeDepth": { - "t": "Profondeur d'emmanchure (Bella)", - "d": "Contrôle la profondeur de l'emmanchure dans le bloc de Bella sur lequel est basé Bee" - }, - "frontArmholePitchDepth": { - "t": "Profondeur du point pivot de l'emmanchure devant (Bella)", - "d": "Contrôle la profondeur du point pivot de l'emmanchure avant dans le bloc Bella sur lequel est basé le patron Bee" - }, - "frontShoulderWidth": { - "t": "Largeur de l'épaule devant (Bella)", - "d": "Contrôle la largeur de l'épaule avant dans le bloc de Bella sur lequel est basé le patron Bee" - }, - "fullChestEaseReduction": { - "t": "Réduction de la poitrine (Bella)", - "d": "Contrôle la réduction du thorax dans le bloc Bella sur lequel est basé Bee" - }, - "highBustWidth": { - "t": "Largeur du tour de buste supérieur (Bella)", - "d": "Contrôle la largeur du buste supérieur dans le bloc de Bella sur lequel est basé Bee" - }, - "shoulderToShoulderEase": { - "t": "Aisance d'épaules à épaules (Bella)", - "d": "Contrôle l'aisance d'épaule à épaule dans le bloc Bella sur lequel est basé le patron Bee" - } - } -} diff --git a/designs/bee/i18n/index.mjs b/designs/bee/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/bee/i18n/index.mjs +++ b/designs/bee/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/bee/i18n/nl.json b/designs/bee/i18n/nl.json deleted file mode 100644 index 79118499c42..00000000000 --- a/designs/bee/i18n/nl.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "t": "Bee bikini top", - "d": "Bee is a bikini top", - "p": { - "bandTie": "Band Tie", - "cup": "Cup", - "neckTie": "Neck Tie" - }, - "s": {}, - "o": { - "chestEase": { - "t": "Overwijdte borst", - "d": "Controls the chest ease in the underlying Bella block Bee is based on" - }, - "waistEase": { - "t": "Overwijdte taille", - "d": "Controls the waist ease in the underlying Bella block Bee is based on" - }, - "bustSpanEase": { - "t": "Overwijdte bustenwijdte", - "d": "Controls the bust span ease in the underlying Bella block Bee is based on" - }, - "topDepth": { - "t": "Top Depth", - "d": "Controls how far the bikini cup extends upwards" - }, - "bottomCupDepth": { - "t": "Bottom depth", - "d": "Controls how far the bikini cup extends downwards" - }, - "sideDepth": { - "t": "Side depth", - "d": "Controls how far the bikini cup extends towards the side" - }, - "sideCurve": { - "t": "Side curve", - "d": "Controls the curvature of the side of the bikini cup" - }, - "frontCurve": { - "t": "Front curve", - "d": "Controls the curvature of the front of the bikini cup" - }, - "bellaGuide": { - "t": "Show Bella", - "d": "Shows the outline of the Bella block Bee is based on" - }, - "ties": { - "t": "Ties", - "d": "Whether to includes ties, yes or no" - }, - "bandTieWidth": { - "t": "Band (chest) tie width", - "d": "Controls the width of the ties around your chest" - }, - "bandTieLength": { - "t": "Band (chest) tie length", - "d": "Controls the length of the ties around your chest" - }, - "bandTieEnds": { - "t": "Band (chest) tie ends", - "d": "Whether you like straight or pointy ends on the ties around your chest" - }, - "bandTieColours": { - "t": "Band (chest) tie length colours", - "d": "Whether you want single color ties around your chest, or dual-coloured ones" - }, - "neckTieWidth": { - "t": "Neck tie width", - "d": "Controls the width of the ties around your chest" - }, - "neckTieLength": { - "t": "Neck tie length", - "d": "Controls the length of the ties around your chest" - }, - "neckTieEnds": { - "t": "Neck tie ends", - "d": "Whether you like straight or pointy ends on the ties around your chest" - }, - "neckTieColours": { - "t": "Neck tie colours", - "d": "Whether you want single color ties around your chest, or dual-coloured ones" - }, - "crossBackTies": { - "t": "Cross back ties", - "d": "Whether you'd like to use the cross back tie variation of Bee" - }, - "bandLength": { - "t": "Band Length (Cross back ties)", - "d": "Controls the length of the band around your chest for the cross back ties variation of Bee" - }, - "backDartHeight": { - "t": "Back dart height (Bella)", - "d": "Controls the back dart height in the underlying Bella block Bee is based on" - }, - "armholeDepth": { - "t": "Armhole depth (Bella)", - "d": "Controls the armhole depth in the underlying Bella block Bee is based on" - }, - "frontArmholePitchDepth": { - "t": "Front armhole pitch depth (Bella)", - "d": "Controls the front armhole pitch depth in the underlying Bella block Bee is based on" - }, - "frontShoulderWidth": { - "t": "Front shoulder width (Bella)", - "d": "Controls the front shoulder width in the underlying Bella block Bee is based on" - }, - "fullChestEaseReduction": { - "t": "Full chest reduction (Bella)", - "d": "Controls the full chest reduction in the underlying Bella block Bee is based on" - }, - "highBustWidth": { - "t": "High bust width (Bella)", - "d": "Controls the high bust width in the underlying Bella block Bee is based on" - }, - "shoulderToShoulderEase": { - "t": "Shoulder to Shoulder ease (Bella)", - "d": "Controls the shoulder to shoulder ease in the underlying Bella block Bee is based on" - } - } -} diff --git a/designs/bee/i18n/uk.json b/designs/bee/i18n/uk.json deleted file mode 100644 index 77d96166ba3..00000000000 --- a/designs/bee/i18n/uk.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "t": "Bee bikini top", - "d": "Bee is a bikini top", - "p": { - "bandTie": "Band Tie", - "cup": "Cup", - "neckTie": "Neck Tie" - }, - "s": {}, - "o": { - "chestEase": { - "t": "Chest ease", - "d": "Controls the chest ease in the underlying Bella block Bee is based on" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the waist ease in the underlying Bella block Bee is based on" - }, - "bustSpanEase": { - "t": "Bust span ease", - "d": "Controls the bust span ease in the underlying Bella block Bee is based on" - }, - "topDepth": { - "t": "Top Depth", - "d": "Controls how far the bikini cup extends upwards" - }, - "bottomCupDepth": { - "t": "Bottom depth", - "d": "Controls how far the bikini cup extends downwards" - }, - "sideDepth": { - "t": "Side depth", - "d": "Controls how far the bikini cup extends towards the side" - }, - "sideCurve": { - "t": "Side curve", - "d": "Controls the curvature of the side of the bikini cup" - }, - "frontCurve": { - "t": "Front curve", - "d": "Controls the curvature of the front of the bikini cup" - }, - "bellaGuide": { - "t": "Show Bella", - "d": "Shows the outline of the Bella block Bee is based on" - }, - "ties": { - "t": "Ties", - "d": "Whether to includes ties, yes or no" - }, - "bandTieWidth": { - "t": "Band (chest) tie width", - "d": "Controls the width of the ties around your chest" - }, - "bandTieLength": { - "t": "Band (chest) tie length", - "d": "Controls the length of the ties around your chest" - }, - "bandTieEnds": { - "t": "Band (chest) tie ends", - "d": "Whether you like straight or pointy ends on the ties around your chest" - }, - "bandTieColours": { - "t": "Band (chest) tie length colours", - "d": "Whether you want single color ties around your chest, or dual-coloured ones" - }, - "neckTieWidth": { - "t": "Neck tie width", - "d": "Controls the width of the ties around your chest" - }, - "neckTieLength": { - "t": "Neck tie length", - "d": "Controls the length of the ties around your chest" - }, - "neckTieEnds": { - "t": "Neck tie ends", - "d": "Whether you like straight or pointy ends on the ties around your chest" - }, - "neckTieColours": { - "t": "Neck tie colours", - "d": "Whether you want single color ties around your chest, or dual-coloured ones" - }, - "crossBackTies": { - "t": "Cross back ties", - "d": "Whether you'd like to use the cross back tie variation of Bee" - }, - "bandLength": { - "t": "Band Length (Cross back ties)", - "d": "Controls the length of the band around your chest for the cross back ties variation of Bee" - }, - "backDartHeight": { - "t": "Back dart height (Bella)", - "d": "Controls the back dart height in the underlying Bella block Bee is based on" - }, - "armholeDepth": { - "t": "Armhole depth (Bella)", - "d": "Controls the armhole depth in the underlying Bella block Bee is based on" - }, - "frontArmholePitchDepth": { - "t": "Front armhole pitch depth (Bella)", - "d": "Controls the front armhole pitch depth in the underlying Bella block Bee is based on" - }, - "frontShoulderWidth": { - "t": "Front shoulder width (Bella)", - "d": "Controls the front shoulder width in the underlying Bella block Bee is based on" - }, - "fullChestEaseReduction": { - "t": "Full chest reduction (Bella)", - "d": "Controls the full chest reduction in the underlying Bella block Bee is based on" - }, - "highBustWidth": { - "t": "High bust width (Bella)", - "d": "Controls the high bust width in the underlying Bella block Bee is based on" - }, - "shoulderToShoulderEase": { - "t": "Shoulder to Shoulder ease (Bella)", - "d": "Controls the shoulder to shoulder ease in the underlying Bella block Bee is based on" - } - } -} diff --git a/designs/bee/package.json b/designs/bee/package.json index 9dfb577de81..dfa3525bc4b 100644 --- a/designs/bee/package.json +++ b/designs/bee/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/bee", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a bikini top", "author": "bobgeorgethe3rd (https://github.com/bobgeorgethe3rd)", "homepage": "https://freesewing.org/", @@ -25,49 +25,40 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/bella": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/bella": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/bee/src/index.mjs b/designs/bee/src/index.mjs index 58f8430fef2..42786fd9bae 100644 --- a/designs/bee/src/index.mjs +++ b/designs/bee/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { cup } from './cup.mjs' import { neckTie } from './neck-tie.mjs' import { bandTie } from './band-tie.mjs' @@ -7,7 +7,7 @@ import { i18n as beeI18n } from '../i18n/index.mjs' import { i18n as bellaI18n } from '@freesewing/bella' const Bee = new Design({ - data, + data: about, parts: [cup, neckTie, bandTie], }) @@ -50,4 +50,4 @@ const i18n = mergeI18n([bellaI18n, beeI18n], { o: { keep: i18nKeepOptions }, }) -export { cup, neckTie, bandTie, Bee, i18n } +export { cup, neckTie, bandTie, Bee, i18n, about } diff --git a/designs/bee/tests/shared.test.mjs b/designs/bee/tests/shared.test.mjs index a6377910d90..1ea26b5f8b5 100644 --- a/designs/bee/tests/shared.test.mjs +++ b/designs/bee/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Bee, i18n } from '../src/index.mjs' +import { Bee, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Bee) +testPatternConfig(Bee, about) // Test translation testPatternI18n(Bee, i18n) diff --git a/designs/bella/README.md b/designs/bella/README.md index 706218203d2..e7c2f44512e 100644 --- a/designs/bella/README.md +++ b/designs/bella/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:bella - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/bella @@ -59,7 +44,7 @@ A FreeSewing pattern for a womenswear bodice block > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/bella/data.mjs b/designs/bella/data.mjs deleted file mode 100644 index 0ec9614446c..00000000000 --- a/designs/bella/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/bella' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/bella/i18n/de.json b/designs/bella/i18n/de.json deleted file mode 100644 index bac54ac2b22..00000000000 --- a/designs/bella/i18n/de.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "t": "Bella, ein Grundschnitt", - "d": "Bella ist ein Grundschnitt für Personen mit Brüsten.", - "p": { - "back": "Rückseite", - "frontSideDart": "Vorderseite" - }, - "s": {}, - "o": { - "chestEase": { - "t": "Brustumfangszugabe", - "d": "Steuert die Größe der Zugabe zum Brustumfang" - }, - "waistEase": { - "t": "Taillenzugabe", - "d": "Steuert die Menge an Leichtigkeit in deiner Taille" - }, - "bustSpanEase": { - "t": "Zugabe seitlicher Brustbereich", - "d": "Steuert die Größe der (horizontalen) Zugabe, zu deinem seitlichen Brustbereich, \nwenn Brustpunkt berechnet wird." - }, - "shoulderToShoulderEase": { - "t": "Zugabe des Schulterabstandes", - "d": "Kontrolliert die Menge an Zugabe zwischen deinen Schultern. Liegt inital bei -0,5%, da Bella ein Grundschnitt erfüllt, welcher in der Branche verwendet wird." - }, - "fullChestEaseReduction": { - "t": "Verringerung der Brustumfangszugabe", - "d": "Ermöglicht es dir den Spielraum an der Brust zu verringern, um dort einen engeren Sitz zu ermöglichen" - }, - "backDartHeight": { - "t": "Höhe Rückenabnäher", - "d": "Steuert die Höhe des Rückenabnähers" - }, - "bustDartLength": { - "t": "Länge des Brustabnähers", - "d": "Steuert die Länge des Brustabnähers" - }, - "waistDartLength": { - "t": "Länge des Taillenabnähers", - "d": "Steuert die Länge des Taillenabnähers" - }, - "bustDartCurve": { - "t": "Rundung Brustabnäher", - "d": "Steuert die Krümmung des Büstendarts" - }, - "armholeDepth": { - "t": "Armlochtiefe", - "d": "Steuert die Tiefe des Armloches" - }, - "backArmholeSlant": { - "t": "Hintere Armlochschiebung", - "d": "Dreht das Armloch leicht in seinem Drehpunkt" - }, - "frontArmholeCurvature": { - "t": "Vordere Armlochkrümmung", - "d": "Steuert wie tief das Armloch nach vorne unten ausgeschnitten ist" - }, - "backArmholeCurvature": { - "t": "Hintere Armlochkrümmung", - "d": "Steuert wie tief das Armloch nach hinten unten ausgeschnitten ist" - }, - "frontArmholePitchDepth": { - "t": "Vordere Armlochtiefe", - "d": "Stellt die horizontale Position des Vorderarmlochpunktes fest" - }, - "backArmholePitchDepth": { - "t": "Rückenarmloch-Tiefe", - "d": "Stellt die horizontale Position des Rückenlochpunktes fest" - }, - "backNeckCutout": { - "t": "Ausschnitt im Nacken", - "d": "Steuert, wie tief der Nackenausschnit am Rücken ausfällt" - }, - "backHemSlope": { - "t": "Neigung des hinteren Saumes", - "d": "Steuert den Hang des Saum auf der Rückseite" - }, - "frontShoulderWidth": { - "t": "Vordere Schulterbreite", - "d": "Steuert die Schmalheit der vorderen Schultern relativ zum Rücken" - }, - "highBustWidth": { - "t": "Oberbrustweite", - "d": "Erlaubt es dir die Oberbrustweite vorne zu optimieren" - } - } -} diff --git a/designs/bella/i18n/es.json b/designs/bella/i18n/es.json deleted file mode 100644 index ceb4a1fc7a2..00000000000 --- a/designs/bella/i18n/es.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "t": "Bella, patrón base de torso con pechos", - "d": "Bella es un patrón báse para personas con pechos.", - "p": { - "back": "Atrás", - "frontSideDart": "Frente" - }, - "s": {}, - "o": { - "chestEase": { - "t": "Holgura de pecho", - "d": "Controla la cantidad de facilidad en la parte más completa de tu cofre" - }, - "waistEase": { - "t": "Holgura de cintura", - "d": "Controla la cantidad de facilidad en tu cintura" - }, - "bustSpanEase": { - "t": "Facilidad de la expansión del polvo", - "d": "Controla la cantidad de facilidad (horizontal) que se agrega a tu superficie de busto al ubicar el punto de busto." - }, - "shoulderToShoulderEase": { - "t": "Shoulder to Shoulder ease", - "d": "Controls the amount of ease between your shoulders. Initially set to -.5% because Bella implements a block that is used in the industry." - }, - "fullChestEaseReduction": { - "t": "Full chest ease reduction", - "d": "Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area" - }, - "backDartHeight": { - "t": "Altura del dart trasero", - "d": "Controla la altura del dart posterior" - }, - "bustDartLength": { - "t": "Longitud del dart del polvo", - "d": "Controla la longitud del polvo" - }, - "waistDartLength": { - "t": "Longitud del dart de Waist", - "d": "Controla la longitud del dardo de la cintura" - }, - "bustDartCurve": { - "t": "Curva darda de busto", - "d": "Controla la curvatura del polvo" - }, - "armholeDepth": { - "t": "Profundidad del orificio", - "d": "Controla la profundidad del orificio" - }, - "backArmholeSlant": { - "t": "Slant del orificio trasero", - "d": "Rota ligeramente el orificio alrededor de su punto de zanja" - }, - "frontArmholeCurvature": { - "t": "Front armhole curvature", - "d": "Controls how deep the armhole is scooped out at the front bottom" - }, - "backArmholeCurvature": { - "t": "Curvatura del orificio trasero", - "d": "Controla la profundidad del agujero de armadura en la parte trasera" - }, - "frontArmholePitchDepth": { - "t": "Profundidad del tono del orificio delantero", - "d": "Modifica la posición horizontal del punto de giro del blindaje frontal" - }, - "backArmholePitchDepth": { - "t": "Profundidad del tono del orificio trasero", - "d": "Modifica la posición horizontal del punto de giro del orificio trasero" - }, - "backNeckCutout": { - "t": "Corte trasero del cuello", - "d": "Controla la profundidad de la apertura del cuello en la espalda" - }, - "backHemSlope": { - "t": "Pendiente trasera", - "d": "Controla la pendiente del hem en la espalda" - }, - "frontShoulderWidth": { - "t": "Ancho del hombro frontal", - "d": "Controla la estrechez de los hombros delanteros relativos a la parte trasera" - }, - "highBustWidth": { - "t": "Ancho de bust alto", - "d": "Le permite ajustar el ancho del polvo alto en la parte frontal" - } - } -} diff --git a/designs/bella/i18n/fr.json b/designs/bella/i18n/fr.json deleted file mode 100644 index 60931762d93..00000000000 --- a/designs/bella/i18n/fr.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "t": "Buste de base Bella", - "d": "Bella est un bloc corporel de base pour les personnes qui ont le sein.", - "p": { - "back": "Retour", - "frontSideDart": "Avant" - }, - "s": {}, - "o": { - "chestEase": { - "t": "Aisance de poitrine", - "d": "Contrôle la quantité d'aisance au niveau le plus large de votre buste" - }, - "waistEase": { - "t": "Aisance à la taille", - "d": "Contrôle la quantité d'aisance au niveau de la taille" - }, - "bustSpanEase": { - "t": "Aisance de l'écart poitrine", - "d": "Contrôle la quantité d'aisance (horizontale) ajoutée à votre poitrine entre les 2 pointes de la poitrine." - }, - "shoulderToShoulderEase": { - "t": "Aisance d'épaule à épaule", - "d": "Contrôle la quantité d'aisance entre vos épaules. Initialement réglé sur -.5% parce que Bella implémente un bloc qui est utilisé dans l'industrie." - }, - "fullChestEaseReduction": { - "t": "Réduction de l'aisance de la poitrine", - "d": "Vous permet de réduire l'aisance de la poitrine indépendamment pour rendre plus seyant cette zone" - }, - "backDartHeight": { - "t": "Hauteur de pince dos", - "d": "Contrôle la hauteur de pince dans le dos" - }, - "bustDartLength": { - "t": "Longueur des pinces poitrine", - "d": "Contrôle la longueur de la pince dos" - }, - "waistDartLength": { - "t": "Longueur de la pince de taille", - "d": "Contrôle la longueur de la pince de taille" - }, - "bustDartCurve": { - "t": "Courbe de la pince poitrine", - "d": "Contrôle la courbure de la pince poitrine" - }, - "armholeDepth": { - "t": "Profondeur d'emmanchure", - "d": "Contrôle la profondeur de l'emmanchure" - }, - "backArmholeSlant": { - "t": "Inclinaison d'emmanchure dos", - "d": "Modifie légèrement l'inclinaison de courbe de l'emmanchure autour de son point de pivot" - }, - "frontArmholeCurvature": { - "t": "Coube de l'emmanchure avant", - "d": "Contrôle la profondeur du bas de la courbure d'emmanchure sur le devant" - }, - "backArmholeCurvature": { - "t": "Courbure de l'emmanchure arrière", - "d": "Contrôle la profondeur du bas de la courbure d'emmanchure dans le dos" - }, - "frontArmholePitchDepth": { - "t": "Profondeur du point de pivot de l'emmanchure avant", - "d": "Modifie la position horizontale du point de pivot de l'emmanchure avant" - }, - "backArmholePitchDepth": { - "t": "Profondeur du point de pivot de l'emmanchure dos", - "d": "Modifie la position horizontale du point de pivot de l'emmanchure dos" - }, - "backNeckCutout": { - "t": "Arrondi de l'encolure au dos", - "d": "Contrôle la profondeur de l'encolure à l'arrière du cou" - }, - "backHemSlope": { - "t": "Pente de l'ourlet dos", - "d": "Contrôle la pente de l'ourlet à l'arrière" - }, - "frontShoulderWidth": { - "t": "Largeur d'épaule devant", - "d": "Contrôle l'étroitesse des longueurs d'épaules de devant par rapport au dos" - }, - "highBustWidth": { - "t": "Largeur de buste supérieur", - "d": "Permet de modifier la largeur de buste supérieur à l'avant" - } - } -} diff --git a/designs/bella/i18n/index.mjs b/designs/bella/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/bella/i18n/index.mjs +++ b/designs/bella/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/bella/i18n/nl.json b/designs/bella/i18n/nl.json deleted file mode 100644 index 58479b27745..00000000000 --- a/designs/bella/i18n/nl.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "t": "Bella lichaam blok", - "d": "Bella is een basisorgaan voor mensen met borsten.", - "p": { - "back": "Achterzijde", - "frontSideDart": "Voorzijde" - }, - "s": {}, - "o": { - "chestEase": { - "t": "Overwijdte borst", - "d": "Bepaalt de hoeveelheid overwijdte aan het grootste deel van je borst" - }, - "waistEase": { - "t": "Overwijdte taille", - "d": "Bepaalt de hoeveelheid overwijdte aan je taille" - }, - "bustSpanEase": { - "t": "Overwijdte bustenwijdte", - "d": "Bepaalt de hoeveelheid (horizontaal) overwijdte die wordt toegevoegd aan uw bustewijdte bij het lokaliseren van het bustepunt." - }, - "shoulderToShoulderEase": { - "t": "Shoulder to Shoulder ease", - "d": "Controls the amount of ease between your shoulders. Initially set to -.5% because Bella implements a block that is used in the industry." - }, - "fullChestEaseReduction": { - "t": "Full chest ease reduction", - "d": "Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area" - }, - "backDartHeight": { - "t": "Hoogte neep rug", - "d": "Bepaalt de hoogte van de achterste neep" - }, - "bustDartLength": { - "t": "Lengte busteneep", - "d": "Bepaalt de lengte van de buste-neep" - }, - "waistDartLength": { - "t": "Lengte neep taille", - "d": "Bepaalt de lengte van de neep van de taille" - }, - "bustDartCurve": { - "t": "Curve busteneep", - "d": "Bepaalt de kromming van de busteneep" - }, - "armholeDepth": { - "t": "Diepte armsgat", - "d": "Bepaalt de diepte van het armsgat" - }, - "backArmholeSlant": { - "t": "Schuin armsgat achter", - "d": "Het armsgat rond zijn toonhoogte roteert enigszins" - }, - "frontArmholeCurvature": { - "t": "Front armhole curvature", - "d": "Controls how deep the armhole is scooped out at the front bottom" - }, - "backArmholeCurvature": { - "t": "Kromming armsgat achter", - "d": "Bepaalt hoe diep het armsgat aan de achterste onderkant wordt uitgekoopt" - }, - "frontArmholePitchDepth": { - "t": "Diepte armsgat vooraan", - "d": "Aanpassen van de horizontale plaatsing van het pitch voorste armsgat" - }, - "backArmholePitchDepth": { - "t": "Diepte armsgat achteraan", - "d": "Aanpassen van de horizontale plaatsing van het armsgat achterin" - }, - "backNeckCutout": { - "t": "Hals uitsnijding achteraan", - "d": "Bepaalt hoe diep de halsopening aan de achterkant wordt uitgekoopt" - }, - "backHemSlope": { - "t": "Lope zoom achter", - "d": "Bepaalt de richtingscoëfficiënt van de zoom achteraan" - }, - "frontShoulderWidth": { - "t": "Schouderbreedte vooraan", - "d": "Bepaalt de smalheid van de schouders vooraan ten opzichte van de achterkant" - }, - "highBustWidth": { - "t": "Hoge buste-breedte", - "d": "Stelt je in staat om de breedte van de nachtbust vooraan te wijzigen" - } - } -} diff --git a/designs/bella/i18n/uk.json b/designs/bella/i18n/uk.json deleted file mode 100644 index 0765e252747..00000000000 --- a/designs/bella/i18n/uk.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "t": "Bella body block", - "d": "Bella is a basic body block for people with breasts.", - "p": { - "back": "Back", - "frontSideDart": "Front" - }, - "s": {}, - "o": { - "chestEase": { - "t": "Chest ease", - "d": "Controls the amount of ease at the fullest part of your chest" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at your waist" - }, - "bustSpanEase": { - "t": "Bust span ease", - "d": "Controls the amount of (horizontal) ease added to your bust span when locating the bust point." - }, - "shoulderToShoulderEase": { - "t": "Shoulder to Shoulder ease", - "d": "Controls the amount of ease between your shoulders. Initially set to -.5% because Bella implements a block that is used in the industry." - }, - "fullChestEaseReduction": { - "t": "Full chest ease reduction", - "d": "Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area" - }, - "backDartHeight": { - "t": "Back dart height", - "d": "Controls the height of the back dart" - }, - "bustDartLength": { - "t": "Bust dart length", - "d": "Controls the length of the bust dart" - }, - "waistDartLength": { - "t": "Waist dart length", - "d": "Controls the length of the waist dart" - }, - "bustDartCurve": { - "t": "Bust dart curve", - "d": "Controls the curvature of the bust dart" - }, - "armholeDepth": { - "t": "Armhole depth", - "d": "Controls the depth of the armhole" - }, - "backArmholeSlant": { - "t": "Back armhole slant", - "d": "Slightly rotates the armhole around its pitch point" - }, - "frontArmholeCurvature": { - "t": "Front armhole curvature", - "d": "Controls how deep the armhole is scooped out at the front bottom" - }, - "backArmholeCurvature": { - "t": "Back armhole curvature", - "d": "Controls how deep the armhole is scooped out at the back bottom" - }, - "frontArmholePitchDepth": { - "t": "Front armhole pitch depth", - "d": "Tweaks the horizontal placement of the front armhole pitch point" - }, - "backArmholePitchDepth": { - "t": "Back armhole pitch depth", - "d": "Tweaks the horizontal placement of the back armhole pitch point" - }, - "backNeckCutout": { - "t": "Back neck cutout", - "d": "Controls how deep the neck opening is scooped out at at the back" - }, - "backHemSlope": { - "t": "Back hem slope", - "d": "Controls the slope of the hem at the back" - }, - "frontShoulderWidth": { - "t": "Front shoulder width", - "d": "Controls the narrowness of the front shoulders relative to the back" - }, - "highBustWidth": { - "t": "High bust width", - "d": "Allows you to tweak the hight bust width at the front" - } - } -} diff --git a/designs/bella/package.json b/designs/bella/package.json index 9ea0acaf5d7..e1385404340 100644 --- a/designs/bella/package.json +++ b/designs/bella/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/bella", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a womenswear bodice block", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/bella/src/back.mjs b/designs/bella/src/back.mjs index 05577b33564..1397e0c52f9 100644 --- a/designs/bella/src/back.mjs +++ b/designs/bella/src/back.mjs @@ -1,3 +1,5 @@ +import { pctBasedOn } from '@freesewing/core' + export const back = { name: 'bella.back', measurements: [ @@ -24,11 +26,17 @@ export const back = { backCenterWaistReduction: 0.35, collarFactor: 0.19, // Fit - bustSpanEase: { pct: 10, min: 0, max: 20, menu: 'fit' }, - chestEase: { pct: 11, min: 5, max: 20, menu: 'fit' }, + bustSpanEase: { pct: 10, min: 0, max: 20, ...pctBasedOn('bustSpan'), menu: 'fit' }, + chestEase: { pct: 11, min: 5, max: 20, ...pctBasedOn('chest'), menu: 'fit' }, fullChestEaseReduction: { pct: 4, min: 0, max: 8, menu: 'fit' }, - shoulderToShoulderEase: { pct: -0.5, min: -1, max: 5, menu: 'fit' }, - waistEase: { pct: 5, min: 1, max: 20, menu: 'fit' }, + shoulderToShoulderEase: { + pct: -0.5, + min: -1, + max: 5, + ...pctBasedOn('shoulderToShoulder'), + menu: 'fit', + }, + waistEase: { pct: 5, min: 1, max: 20, ...pctBasedOn('waist'), menu: 'fit' }, // Darts backDartHeight: { pct: 46, min: 38, max: 54, menu: 'darts' }, bustDartCurve: { pct: 100, min: -100, max: 100, menu: 'darts' }, diff --git a/designs/bella/src/index.mjs b/designs/bella/src/index.mjs index 46a0565b8d6..c04d343b45a 100644 --- a/designs/bella/src/index.mjs +++ b/designs/bella/src/index.mjs @@ -1,12 +1,12 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { back } from './back.mjs' import { frontSideDart } from './front-side-dart.mjs' import { i18n } from '../i18n/index.mjs' const Bella = new Design({ - data, + data: about, parts: [back, frontSideDart], }) -export { back, frontSideDart, Bella, i18n } +export { back, frontSideDart, Bella, i18n, about } diff --git a/designs/bella/tests/shared.test.mjs b/designs/bella/tests/shared.test.mjs index c681ef87c62..69d7a6124f5 100644 --- a/designs/bella/tests/shared.test.mjs +++ b/designs/bella/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Bella, i18n } from '../src/index.mjs' +import { Bella, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Bella) +testPatternConfig(Bella, about) // Test translation testPatternI18n(Bella, i18n) diff --git a/designs/benjamin/README.md b/designs/benjamin/README.md index 4fb021e3971..8be9c1d3373 100644 --- a/designs/benjamin/README.md +++ b/designs/benjamin/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:benjamin - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/benjamin @@ -59,7 +44,7 @@ A FreeSewing pattern for a bow tie > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/benjamin/data.mjs b/designs/benjamin/data.mjs deleted file mode 100644 index 2b16721ef72..00000000000 --- a/designs/benjamin/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/benjamin' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/benjamin/i18n/de.json b/designs/benjamin/i18n/de.json deleted file mode 100644 index a75e226d275..00000000000 --- a/designs/benjamin/i18n/de.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Benjamin, die Fliege", - "d": "Benjamin ist eine Schleife - oder Fliege - mit vier unterschiedlichen Formvariationen.", - "p": { - "base": "Base", - "bow1": "Fliege", - "bow2": "Fliege", - "bow3": "Fliege", - "ribbon": "Einstellband" - }, - "s": {}, - "o": { - "adjustmentRibbon": { - "t": "Einstellband", - "d": "Einstellband verwenden oder nicht" - }, - "bandLength": { - "t": "Bandlänge", - "d": "Lände des Bandes" - }, - "tipWidth": { - "t": "Spitzenbreite", - "d": "Breite der Spitzen" - }, - "knotWidth": { - "t": "Knotenbreite", - "d": "Breite des Knotens" - }, - "bowLength": { - "t": "Fliegenlänge", - "d": "Länge der Fliege (wenn geknotet)" - }, - "bowStyle": { - "t": "Fliegen-Stil", - "d": "Stil der Fliege" - }, - "endStyle": { - "t": "Enden-Stil", - "d": "Stil für die Enden der Fliege" - }, - "collarEase": { - "t": "Kragen Zugabe", - "d": "Die Menge an Zugabe an deinem Hals" - }, - "ribbonWidth": { - "t": "Bänderbreite", - "d": "Breite des Bandes" - } - } -} diff --git a/designs/benjamin/i18n/es.json b/designs/benjamin/i18n/es.json deleted file mode 100644 index 26a3ed895c9..00000000000 --- a/designs/benjamin/i18n/es.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Benjamin, pajarita", - "d": "Benjamin es un patrón de pajarita con cuatro formas a elegir.", - "p": { - "base": "Base", - "bow1": "Pajarita", - "bow2": "Pajarita", - "bow3": "Pajarita", - "ribbon": "Banda" - }, - "s": {}, - "o": { - "adjustmentRibbon": { - "t": "Cinta de ajuste", - "d": "Incluir o no una cinta de ajuste" - }, - "bandLength": { - "t": "Longitud de la banda", - "d": "Longitud de la banda" - }, - "tipWidth": { - "t": "Ancho de la punta", - "d": "Ancho de las puntas" - }, - "knotWidth": { - "t": "Ancho de nudo", - "d": "Ancho del nudo" - }, - "bowLength": { - "t": "Longitud del lazo", - "d": "Longitud del lazo (cuando está anudado)" - }, - "bowStyle": { - "t": "Estilo del lazo", - "d": "Estilo del lazo" - }, - "endStyle": { - "t": "Estilo de las puntas", - "d": "Estilo de las puntas del lazo" - }, - "collarEase": { - "t": "Facilidad de cuello", - "d": "The amount of ease at your neck" - }, - "ribbonWidth": { - "t": "Ribbon width", - "d": "Width of the ribbon" - } - } -} diff --git a/designs/benjamin/i18n/fr.json b/designs/benjamin/i18n/fr.json deleted file mode 100644 index 58fa86c5d5a..00000000000 --- a/designs/benjamin/i18n/fr.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Nœud papillon Benjamin", - "d": "Benjamin est un nœud papillon avec 4 possibilités de styles différents.", - "p": { - "base": "Base", - "bow1": "Nœud", - "bow2": "Nœud", - "bow3": "Nœud", - "ribbon": "Bande" - }, - "s": {}, - "o": { - "adjustmentRibbon": { - "t": "Ruban d'ajustement", - "d": "Si vous souhaitez inclure ou non un ruban d'ajustement" - }, - "bandLength": { - "t": "Longueur de bande", - "d": "Longueur de la bande" - }, - "tipWidth": { - "t": "Largeur de pointe", - "d": "Largeur des pointes" - }, - "knotWidth": { - "t": "Largeur du noeud", - "d": "Largeur du nœud" - }, - "bowLength": { - "t": "Longueur de nœud", - "d": "Longueur du nœud (lorsqu'il est noué)" - }, - "bowStyle": { - "t": "Style de nœud", - "d": "Style du nœud" - }, - "endStyle": { - "t": "Style de l'extrémité", - "d": "Style des extrémités du noeud" - }, - "collarEase": { - "t": "Aisance du col", - "d": "La quantité d'aisance à votre cou" - }, - "ribbonWidth": { - "t": "Largeur du ruban d'ajustement", - "d": "Largeur du ruban" - } - } -} diff --git a/designs/benjamin/i18n/index.mjs b/designs/benjamin/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/benjamin/i18n/index.mjs +++ b/designs/benjamin/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/benjamin/i18n/nl.json b/designs/benjamin/i18n/nl.json deleted file mode 100644 index 5e0665410a4..00000000000 --- a/designs/benjamin/i18n/nl.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Benjamin vlinderdas", - "d": "Benjamin is een vlinderdas met vier verschillende mogelijke vormen.", - "p": { - "base": "Base", - "bow1": "Vlinderdas", - "bow2": "Vlinderdas", - "bow3": "Vlinderdas", - "ribbon": "Band" - }, - "s": {}, - "o": { - "adjustmentRibbon": { - "t": "Aanpaslintje", - "d": "Of je wel of geen aanpaslintje wil" - }, - "bandLength": { - "t": "Lengte band", - "d": "Lengte van de band" - }, - "tipWidth": { - "t": "Tip breedte", - "d": "Breedte van de punten" - }, - "knotWidth": { - "t": "Knoop breedte", - "d": "Breedte van de knoop" - }, - "bowLength": { - "t": "Lengte strik", - "d": "De lengte van gestrikt (gestrikt)" - }, - "bowStyle": { - "t": "Stijl strik", - "d": "Stijl van de strik" - }, - "endStyle": { - "t": "Puntvorm", - "d": "Stijl van de puntjes van de strik" - }, - "collarEase": { - "t": "Overwijdte kraag", - "d": "The amount of ease at your neck" - }, - "ribbonWidth": { - "t": "Ribbon width", - "d": "Width of the ribbon" - } - } -} diff --git a/designs/benjamin/i18n/uk.json b/designs/benjamin/i18n/uk.json deleted file mode 100644 index b5fb78c15f3..00000000000 --- a/designs/benjamin/i18n/uk.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Benjamin bow tie", - "d": "Benjamin is a bow tie pattern with four different shape options.", - "p": { - "base": "Base", - "bow1": "Bow", - "bow2": "Bow", - "bow3": "Bow", - "ribbon": "Ribbon" - }, - "s": {}, - "o": { - "adjustmentRibbon": { - "t": "Adjustment ribbon", - "d": "Whether or not to include an adjustment ribbon" - }, - "bandLength": { - "t": "Band length", - "d": "Length of the band" - }, - "tipWidth": { - "t": "Tip width", - "d": "Width of the tips" - }, - "knotWidth": { - "t": "Knot width", - "d": "Width of the knot" - }, - "bowLength": { - "t": "Bow length", - "d": "Length of the bow (when knotted)" - }, - "bowStyle": { - "t": "Bow style", - "d": "Style of the bow" - }, - "endStyle": { - "t": "End style", - "d": "Style of the bow ends" - }, - "collarEase": { - "t": "Collar ease", - "d": "The amount of ease at your neck" - }, - "ribbonWidth": { - "t": "Ribbon width", - "d": "Width of the ribbon" - } - } -} diff --git a/designs/benjamin/package.json b/designs/benjamin/package.json index 952766a1282..27a80a25cfa 100644 --- a/designs/benjamin/package.json +++ b/designs/benjamin/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/benjamin", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a bow tie", "author": "woutervdub (https://github.com/woutervdub)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/benjamin/src/base.mjs b/designs/benjamin/src/base.mjs index 2a1550188f1..53a9e087d98 100644 --- a/designs/benjamin/src/base.mjs +++ b/designs/benjamin/src/base.mjs @@ -1,3 +1,5 @@ +import { pctBasedOn } from '@freesewing/core' + function draftBenjaminBase({ store, sa, @@ -236,7 +238,7 @@ export const base = { bandLength: 0.17, adjustmentRibbonWidth: 20, // Fit options - collarEase: { pct: 3, min: 0, max: 6, menu: 'fit' }, + collarEase: { pct: 3, min: 0, max: 6, ...pctBasedOn('neck'), menu: 'fit' }, adjustmentRibbon: { bool: false, menu: 'fit' }, // Style options tipWidth: { pct: 15, min: 0, max: 20, menu: 'style' }, diff --git a/designs/benjamin/src/index.mjs b/designs/benjamin/src/index.mjs index af0d0b3c3fb..b128637ca0a 100644 --- a/designs/benjamin/src/index.mjs +++ b/designs/benjamin/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { bow1 } from './bow1.mjs' import { bow2 } from './bow2.mjs' import { bow3 } from './bow3.mjs' @@ -8,9 +8,9 @@ import { i18n } from '../i18n/index.mjs' // Setup our new design const Benjamin = new Design({ - data, + data: about, parts: [bow1, bow2, bow3, collarBand], }) // Named exports -export { bow1, bow2, bow3, collarBand, Benjamin, i18n } +export { bow1, bow2, bow3, collarBand, Benjamin, i18n, about } diff --git a/designs/benjamin/tests/shared.test.mjs b/designs/benjamin/tests/shared.test.mjs index 722b2328af1..929c89e8d5f 100644 --- a/designs/benjamin/tests/shared.test.mjs +++ b/designs/benjamin/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Benjamin, i18n } from '../src/index.mjs' +import { Benjamin, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Benjamin) +testPatternConfig(Benjamin, about) // Test translation testPatternI18n(Benjamin, i18n) diff --git a/designs/bent/README.md b/designs/bent/README.md index 7b4e4503da8..d11e1bbb90d 100644 --- a/designs/bent/README.md +++ b/designs/bent/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:bent - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/bent @@ -59,7 +44,7 @@ A FreeSewing pattern for a menswear body block with a two-part sleeve > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/bent/data.mjs b/designs/bent/data.mjs deleted file mode 100644 index b27b4fb228f..00000000000 --- a/designs/bent/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/bent' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/bent/i18n/de.json b/designs/bent/i18n/de.json deleted file mode 100644 index 073189e3c53..00000000000 --- a/designs/bent/i18n/de.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "t": "Bent, ein Grundschnitt", - "d": "Dieser zweiteilige Ärmel-Grundschnitt ist die Grundlage für unsere Mäntel- und Jackenschnitte.", - "p": { - "sleeve": "Sleeve", - "topSleeve": "Oberärmel", - "underSleeve": "Unterärmel" - }, - "s": {}, - "o": { - "sleeveBend": { - "t": "Ärmelkrümmung", - "d": "Steuert die Krümmung des Ärmels am Ellbogen." - }, - "sleevecapHeight": { - "t": "Armkugel Höhe", - "d": "Steuert die Höhe der Armkugel." - } - } -} diff --git a/designs/bent/i18n/es.json b/designs/bent/i18n/es.json deleted file mode 100644 index c1ca8464714..00000000000 --- a/designs/bent/i18n/es.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "t": "Bent, patrón base de chaqueta", - "d": "Este patrón base con mangas de dos partes es la base de nuestros patrones de chaqueta y abrigo.", - "p": { - "sleeve": "Sleeve", - "topSleeve": "Manga superior", - "underSleeve": "Manga debajo" - }, - "s": {}, - "o": { - "sleeveBend": { - "t": "Manga doblada", - "d": "Curva de la manga en el codo." - }, - "sleevecapHeight": { - "t": "Altura de la manga", - "d": "Controla la altura de la manga." - } - } -} diff --git a/designs/bent/i18n/fr.json b/designs/bent/i18n/fr.json deleted file mode 100644 index 8c9ec83a85b..00000000000 --- a/designs/bent/i18n/fr.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "t": "Patron de base Bent", - "d": "Ce bloc d'emmanchure en deux parties est la base de nos modèles de manteau et de veste.", - "p": { - "sleeve": "Manche", - "topSleeve": "Haut de manche", - "underSleeve": "Sous-manche" - }, - "s": {}, - "o": { - "sleeveBend": { - "t": "Courbe de manche", - "d": "Contrôle la courbure de la manche au niveau du coude." - }, - "sleevecapHeight": { - "t": "Hauteur du tête de manche", - "d": "Contrôle la hauteur du tête de manche" - } - } -} diff --git a/designs/bent/i18n/index.mjs b/designs/bent/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/bent/i18n/index.mjs +++ b/designs/bent/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/bent/i18n/nl.json b/designs/bent/i18n/nl.json deleted file mode 100644 index cdf687bb0f2..00000000000 --- a/designs/bent/i18n/nl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "t": "Bent Basisvorm", - "d": "Dit patroon met tweedelige mouw is de basis voor onze jassen- en jasjespatronen.", - "p": { - "sleeve": "Sleeve", - "topSleeve": "Bovenmouw", - "underSleeve": "Ondermouw" - }, - "s": {}, - "o": { - "sleeveBend": { - "t": "Mouw kromming", - "d": "Buiging van de mouw aan de elleboog" - }, - "sleevecapHeight": { - "t": "Hoogte mouwkop", - "d": "Bepaalt de hoogte van de mouwkop" - } - } -} diff --git a/designs/bent/i18n/uk.json b/designs/bent/i18n/uk.json deleted file mode 100644 index 49544bbf595..00000000000 --- a/designs/bent/i18n/uk.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "t": "Bent body Block", - "d": "This two-part sleeve block is the basis of our coat and jacket patterns.", - "p": { - "sleeve": "Sleeve", - "topSleeve": "Topsleeve", - "underSleeve": "Undersleeve" - }, - "s": {}, - "o": { - "sleeveBend": { - "t": "Sleeve bend", - "d": "Controls the bend of the sleeve at the elbow." - }, - "sleevecapHeight": { - "t": "Sleevecap height", - "d": "Controls the height of the sleevecap." - } - } -} diff --git a/designs/bent/package.json b/designs/bent/package.json index 648467cc41c..1a65df446fc 100644 --- a/designs/bent/package.json +++ b/designs/bent/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/bent", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a menswear body block with a two-part sleeve", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,50 +25,41 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/brian": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/brian": "4.0.0", + "@freesewing/plugin-bust": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/bent/src/index.mjs b/designs/bent/src/index.mjs index fb5097d1378..12029e74371 100644 --- a/designs/bent/src/index.mjs +++ b/designs/bent/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { front, back, i18n as brianI18n } from '@freesewing/brian' import { sleeve } from './sleeve.mjs' import { topSleeve } from './topsleeve.mjs' @@ -8,7 +8,7 @@ import { i18n as bentI18n } from '../i18n/index.mjs' // Create new design const Bent = new Design({ - data, + data: about, parts: [front, back, sleeve, topSleeve, underSleeve], }) @@ -28,4 +28,4 @@ const i18n = mergeI18n([brianI18n, bentI18n], { }) // Named exports -export { front, back, sleeve, topSleeve, underSleeve, Bent, i18n } +export { front, back, sleeve, topSleeve, underSleeve, Bent, i18n, about } diff --git a/designs/bent/src/sleeve.mjs b/designs/bent/src/sleeve.mjs index 4f26e9090b6..9667a541b4e 100644 --- a/designs/bent/src/sleeve.mjs +++ b/designs/bent/src/sleeve.mjs @@ -1,4 +1,5 @@ import { front } from '@freesewing/brian' +import { pctBasedOn } from '@freesewing/core' function draftBentSleeve({ Path, paths, points, store, options, part }) { function draftSleeve(part, tweak) { @@ -183,11 +184,11 @@ export const sleeve = { brianFitCollar: true, collarFactor: 4.8, // Fit - chestEase: { pct: 8, min: -4, max: 20, menu: 'fit' }, - collarEase: { pct: 3.5, min: 0, max: 10, menu: 'fit' }, - bicepsEase: { pct: 20, min: 10, max: 40, menu: 'fit' }, - cuffEase: { pct: 40, min: 2, max: 100, menu: 'fit' }, - shoulderEase: { pct: 0, min: -2, max: 6, menu: 'fit' }, + chestEase: { pct: 8, min: -4, max: 20, ...pctBasedOn('chest'), menu: 'fit' }, + collarEase: { pct: 3.5, min: 0, max: 10, ...pctBasedOn('neck'), menu: 'fit' }, + bicepsEase: { pct: 20, min: 10, max: 40, ...pctBasedOn('biceps'), menu: 'fit' }, + cuffEase: { pct: 40, min: 2, max: 100, ...pctBasedOn('wrist'), menu: 'fit' }, + shoulderEase: { pct: 0, min: -2, max: 6, ...pctBasedOn('shoulderToShoulder'), menu: 'fit' }, lengthBonus: { pct: 0, min: -4, max: 60, menu: 'fit' }, sleeveLengthBonus: { pct: 0, min: -20, max: 15, menu: 'fit' }, sleeveBend: { deg: 10, min: 0, max: 20, menu: 'fit' }, diff --git a/designs/bent/tests/shared.test.mjs b/designs/bent/tests/shared.test.mjs index 90bfc253fa3..f542eef0682 100644 --- a/designs/bent/tests/shared.test.mjs +++ b/designs/bent/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Bent, i18n } from '../src/index.mjs' +import { Bent, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Bent) +testPatternConfig(Bent, about) // Test translation testPatternI18n(Bent, i18n) diff --git a/designs/bibi/CHANGELOG.md b/designs/bibi/CHANGELOG.md index fd38619ed40..066a84bf20d 100644 --- a/designs/bibi/CHANGELOG.md +++ b/designs/bibi/CHANGELOG.md @@ -1,6 +1,14 @@ # Change log for: @freesewing/bibi +## 4.0.0 (2024-04-01) + +### Changed + + - Changed the algorithm to draft the side seam, so the measurements are followed more precisely + - Reduced default influence of the seat back measurement and added an option to adjust it. + - Added various options for ribbing and knit binding on waistband, armscyes/cuffs and neck hole and included more documentation + ## 3.0.0 (2023-09-30) ### Changed diff --git a/designs/bibi/README.md b/designs/bibi/README.md index c615ce3ba1e..ef50d0e10ec 100644 --- a/designs/bibi/README.md +++ b/designs/bibi/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:bibi - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/bibi @@ -59,7 +44,7 @@ A FreeSewing pattern for a knit top body block > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/bibi/data.mjs b/designs/bibi/data.mjs deleted file mode 100644 index f4ae7812c7c..00000000000 --- a/designs/bibi/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/bibi' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/bibi/i18n/de.json b/designs/bibi/i18n/de.json deleted file mode 100644 index 6aa01adedfc..00000000000 --- a/designs/bibi/i18n/de.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Teagan, das T-Shirt", - "d": "Teagan ist ein Schnittmuster für ein passgenaues T-Shirt.", - "p": { - "back": "Rückseite", - "front": "Vorderseite", - "sleeve": "Ärmel" - }, - "s": { - "fullLengthFromHps": "Volle Länge (vom höchsten Schulterpunkt)" - }, - "o": { - "draftForHighBust": { - "t": "Entwurf für hohe Büste", - "d": "Zeichnen Sie das Muster für die hohe Büstenmessung (falls vorhanden) statt der (vollen) Truhe. Dies wird zu einem besser angepassten Kleidungsstück für Brustkleidung führen." - }, - "sleeveEase": { - "t": "Bequemlichkeitszugabe Ärmel", - "d": "Größe der Bequemlichkeitszugabe an den Ärmeln" - }, - "sleeveLength": { - "t": "Ärmellänge", - "d": "Steuert die Länge deiner Ärmel" - }, - "necklineBend": { - "t": "Krümmung Halsausschnitt", - "d": "Steuert die Krümmung des Halsausschnitts." - }, - "necklineDepth": { - "t": "Ausschnitttiefe", - "d": "Steuert, wie tief der Halsausschnitt fällt." - }, - "necklineWidth": { - "t": "Ausschnittbreite", - "d": "Steuert die Breite des Halsausschnitts." - }, - "curveToWaist": { - "t": "Fit the waist", - "d": "Whether or not to fit the waist or rahter only fit chest and hips." - }, - "curvedWaistEase": { - "t": "Waist ease", - "d": "Ease at the waist (only applies when the waist is fitted)." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Ease at the hips." - } - } -} diff --git a/designs/bibi/i18n/es.json b/designs/bibi/i18n/es.json deleted file mode 100644 index 381ab9391b8..00000000000 --- a/designs/bibi/i18n/es.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Teagan, camiseta", - "d": "Teagan es un patrón de camiseta entallada.", - "p": { - "back": "Atrás", - "front": "Frente", - "sleeve": "Manga" - }, - "s": { - "fullLengthFromHps": "Longitud completa (de HPS)" - }, - "o": { - "draftForHighBust": { - "t": "Borrador para alta caída", - "d": "Borra el patrón para la medición alta del polvo (si está disponible) en lugar del cofre (completo). Esto dará lugar a una prenda más ajustada para las personas con senos." - }, - "sleeveEase": { - "t": "Manga fácil", - "d": "Cantidad de facilidad de sus mangas" - }, - "sleeveLength": { - "t": "Longitud de la manga", - "d": "Controla la longitud de las mangas" - }, - "necklineBend": { - "t": "Curvatura neckline", - "d": "Controla la curvatura del cuello." - }, - "necklineDepth": { - "t": "Profundidad del cuello", - "d": "Controla la profundidad de la abertura del cuello." - }, - "necklineWidth": { - "t": "Neckline width", - "d": "Controla el ancho de la abertura del cuello." - }, - "curveToWaist": { - "t": "Fit the waist", - "d": "Whether or not to fit the waist or rahter only fit chest and hips." - }, - "curvedWaistEase": { - "t": "Waist ease", - "d": "Ease at the waist (only applies when the waist is fitted)." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Ease at the hips." - } - } -} diff --git a/designs/bibi/i18n/fr.json b/designs/bibi/i18n/fr.json deleted file mode 100644 index 15507133df6..00000000000 --- a/designs/bibi/i18n/fr.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "T-shirt Teagan", - "d": "Teagan est un T-shirt ajusté.", - "p": { - "back": "Retour", - "front": "Avant", - "sleeve": "Manche" - }, - "s": { - "fullLengthFromHps": "Longueur complète (à partir du haut de l'épaule)" - }, - "o": { - "draftForHighBust": { - "t": "Tracé pour le buste supérieur", - "d": "Tracer le patron pour la mesure de tour de poitrine supérieure (si disponible) plutôt que la poitrine (pleine). Il en résultera un vêtement plus ajusté pour les personnes qui ont des seins." - }, - "sleeveEase": { - "t": "Aisance des manches", - "d": "Quantité d'aisance de vos manches" - }, - "sleeveLength": { - "t": "Longueur des manches", - "d": "Contrôle la longueur de vos manches" - }, - "necklineBend": { - "t": "Courbure de l'encolure", - "d": "Contrôle la courbure de l'encolure." - }, - "necklineDepth": { - "t": "Profondeur de l'encolure", - "d": "Contrôle la profondeur de l'encolure." - }, - "necklineWidth": { - "t": "Largeur d'encolure", - "d": "Contrôle la largeur de l'encolure." - }, - "curveToWaist": { - "t": "Fit the waist", - "d": "Whether or not to fit the waist or rahter only fit chest and hips." - }, - "curvedWaistEase": { - "t": "Waist ease", - "d": "Ease at the waist (only applies when the waist is fitted)." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Ease at the hips." - } - } -} diff --git a/designs/bibi/i18n/index.mjs b/designs/bibi/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/bibi/i18n/index.mjs +++ b/designs/bibi/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/bibi/i18n/nl.json b/designs/bibi/i18n/nl.json deleted file mode 100644 index 6ae4ae5ba5e..00000000000 --- a/designs/bibi/i18n/nl.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Teagan T-shirt", - "d": "Teagan is een patroon voor een aansluitend t-shirt.", - "p": { - "back": "Achterzijde", - "front": "Voorzijde", - "sleeve": "Mouw" - }, - "s": { - "fullLengthFromHps": "Afgewerkte lengte (vanaf HPS)" - }, - "o": { - "draftForHighBust": { - "t": "Teken voor hoge buste", - "d": "Teken het patroon voor de hoge bustemaat (indien beschikbaar) in plaats van de volle borstomtrek. Dit heeft een aansluitender kledingstuk als resultaat voor mensen met borsten." - }, - "sleeveEase": { - "t": "Overwijdte mouw", - "d": "De hoeveelheid extra ruimte in je mouwen" - }, - "sleeveLength": { - "t": "Mouwlengte", - "d": "Bepaalt de lengte van je mouwen" - }, - "necklineBend": { - "t": "Curve halslijn", - "d": "Bepaalt de curve van de halsuitsnijding." - }, - "necklineDepth": { - "t": "Diepte halsuitsnijding", - "d": "Bepaalt hoe diep de halsopening is." - }, - "necklineWidth": { - "t": "Breedte halsuitsnijding", - "d": "Bepaalt hoe breed de halsopening is." - }, - "curveToWaist": { - "t": "Fit the waist", - "d": "Whether or not to fit the waist or rahter only fit chest and hips." - }, - "curvedWaistEase": { - "t": "Waist ease", - "d": "Ease at the waist (only applies when the waist is fitted)." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Ease at the hips." - } - } -} diff --git a/designs/bibi/i18n/uk.json b/designs/bibi/i18n/uk.json deleted file mode 100644 index 689205eff60..00000000000 --- a/designs/bibi/i18n/uk.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Teagan T-shirt", - "d": "Teagan is a fitted T-shirt pattern.", - "p": { - "back": "Back", - "front": "Front", - "sleeve": "Sleeve" - }, - "s": { - "fullLengthFromHps": "Full length (from HPS)" - }, - "o": { - "draftForHighBust": { - "t": "Draft for high bust", - "d": "Draft the pattern for the high bust measurement (if available) rather than the (full) chest. This will result in a more fitted garment for people with breasts." - }, - "sleeveEase": { - "t": "Sleeve ease", - "d": "Amount of ease of your sleeves" - }, - "sleeveLength": { - "t": "Sleeve length", - "d": "Controls the length of your sleeves" - }, - "necklineBend": { - "t": "Neckline curvature", - "d": "Controls the curvature of the neckline." - }, - "necklineDepth": { - "t": "Neckline depth", - "d": "Controls how deep the neck opening plunges down." - }, - "necklineWidth": { - "t": "Neckline width", - "d": "Controls the width of the neck opening." - }, - "curveToWaist": { - "t": "Fit the waist", - "d": "Whether or not to fit the waist or rahter only fit chest and hips." - }, - "curvedWaistEase": { - "t": "Waist ease", - "d": "Ease at the waist (only applies when the waist is fitted)." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Ease at the hips." - } - } -} diff --git a/designs/bibi/package.json b/designs/bibi/package.json index ef15b4559d5..1b851930b89 100644 --- a/designs/bibi/package.json +++ b/designs/bibi/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/bibi", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a knit top body block", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/bibi/src/cuff.mjs b/designs/bibi/src/cuff.mjs index ec94b4a209c..60a1b30c971 100644 --- a/designs/bibi/src/cuff.mjs +++ b/designs/bibi/src/cuff.mjs @@ -1,5 +1,5 @@ import { sleevecap as brianSleeveCap } from '@freesewing/brian' -import { hidePresets } from '@freesewing/core' +import { hidePresets, pctBasedOn } from '@freesewing/core' import { draftRibbing } from './shared.mjs' export const cuff = { @@ -13,7 +13,7 @@ export const cuff = { s3Armhole: 0, brianFitSleeve: true, brianFitCollar: false, - bicepsEase: { pct: 5, min: 0, max: 50, menu: 'fit' }, + bicepsEase: { pct: 5, min: 0, max: 50, ...pctBasedOn('biceps'), menu: 'fit' }, collarEase: 0, shoulderSlopeReduction: 0, sleeveWidthGuarantee: 0.85, @@ -21,12 +21,13 @@ export const cuff = { legacyArmholeDepth: false, // Unused as legacyArmholeDepth is disabled, hide option in documentation armholeDepthFactor: 0.5, - shoulderEase: { pct: 0, min: -2, max: 6, menu: 'fit' }, + shoulderEase: { pct: 0, min: -2, max: 6, ...pctBasedOn('shoulderToShoulder'), menu: 'fit' }, // Note: we reuse Brian's cuff ease as "armhole fullness" cuffEase: { pct: 20, min: 0, max: 200, + ...pctBasedOn('wrist'), menu: (settings, mergedOptions) => mergedOptions.sleeves === false ? false : 'style.sleeves', }, diff --git a/designs/bibi/src/front.mjs b/designs/bibi/src/front.mjs index 718dd8a091d..371f11fde08 100644 --- a/designs/bibi/src/front.mjs +++ b/designs/bibi/src/front.mjs @@ -10,6 +10,7 @@ import { plotSideLineMeasurements, verticalSplit, } from './shared.mjs' +import { pctBasedOn } from '@freesewing/core' export const front = { name: 'bibi.front', diff --git a/designs/bibi/src/index.mjs b/designs/bibi/src/index.mjs index 9b7d68b56a2..946c1b13121 100644 --- a/designs/bibi/src/index.mjs +++ b/designs/bibi/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as bibiI18n } from '../i18n/index.mjs' import { front } from './front.mjs' @@ -26,7 +26,7 @@ import { // Setup our new design const Bibi = new Design({ - data, + data: about, parts: [waistband, cuff, armholeBinding, neckBinding, sleeve, back, front], }) @@ -58,4 +58,5 @@ export { draftKnitBinding, Bibi, i18n, + about, } diff --git a/designs/bibi/src/waistband.mjs b/designs/bibi/src/waistband.mjs index a84d537b503..4af4d237e30 100644 --- a/designs/bibi/src/waistband.mjs +++ b/designs/bibi/src/waistband.mjs @@ -8,6 +8,7 @@ import { correctArmHole, draftRibbing, } from './shared.mjs' +import { pctBasedOn } from '@freesewing/core' export const waistband = { name: 'bibi.waistband', @@ -21,12 +22,13 @@ export const waistband = { pct: 5, min: -10, max: 20, + ...pctBasedOn('waist'), menu: (settings, mergedOptions) => (mergedOptions.fitWaist ? 'fit' : false), order: 'EBB', }, - hipsEase: { pct: 5, min: -5, max: 50, menu: 'fit', order: 'ECA' }, - seatEase: { pct: 2, min: -5, max: 50, menu: 'fit', order: 'EDA' }, - chestEase: { pct: 2, min: -5, max: 25, menu: 'fit', order: 'EAB' }, + hipsEase: { pct: 5, min: -5, max: 50, ...pctBasedOn('hips'), menu: 'fit', order: 'ECA' }, + seatEase: { pct: 2, min: -5, max: 50, ...pctBasedOn('seat'), menu: 'fit', order: 'EDA' }, + chestEase: { pct: 2, min: -5, max: 25, ...pctBasedOn('chest'), menu: 'fit', order: 'EAB' }, length: { dflt: 'seat', list: ['underbust', 'waist', 'hips', 'seat', 'knee', 'floor'], diff --git a/designs/bibi/tests/shared.test.mjs b/designs/bibi/tests/shared.test.mjs index 5a6830c127e..ade305cf2b8 100644 --- a/designs/bibi/tests/shared.test.mjs +++ b/designs/bibi/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Bibi, i18n } from '../src/index.mjs' +import { Bibi, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Bibi) +testPatternConfig(Bibi, about) // Test translation testPatternI18n(Bibi, i18n) diff --git a/designs/bob/README.md b/designs/bob/README.md index d4f50c03eae..ffab30c7747 100644 --- a/designs/bob/README.md +++ b/designs/bob/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:bob - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/bob @@ -59,7 +44,7 @@ A FreeSewing pattern for a bib > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/bob/data.mjs b/designs/bob/data.mjs deleted file mode 100644 index 2395b064274..00000000000 --- a/designs/bob/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/bob' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/bob/i18n/de.json b/designs/bob/i18n/de.json deleted file mode 100644 index a78aa5d33af..00000000000 --- a/designs/bob/i18n/de.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "t": "Bob, das Lätzchen", - "d": "Dies ist das Lätzchen, welches du erstellst, wenn du unserem Design-Tutorial folgst", - "p": { - "bib": "Lätzchen" - }, - "s": {}, - "o": { - "neckRatio": { - "t": "Halsöffnung", - "d": "Steuert die Größe der Halsöffnung in Relation zu der Größe des Lätzchens" - }, - "widthRatio": { - "t": "Breite", - "d": "Steuert die Breite des Latzes" - }, - "lengthRatio": { - "t": "Länge", - "d": "Steuert die Länge des Latzes" - }, - "headSize": { - "t": "Kopfgröße", - "d": "Der Kopfumfang, für den das Lätzchen passen soll" - } - } -} diff --git a/designs/bob/i18n/es.json b/designs/bob/i18n/es.json deleted file mode 100644 index c90a17d8348..00000000000 --- a/designs/bob/i18n/es.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "t": "Bob the bib", - "d": "This is the bib that you can create by following our design tutorial", - "p": { - "bib": "Bib" - }, - "s": {}, - "o": { - "neckRatio": { - "t": "Neck opening", - "d": "Controls the size of the neck opening relative to the bib size" - }, - "widthRatio": { - "t": "Anchura", - "d": "Controla el ancho de la bib" - }, - "lengthRatio": { - "t": "Longitud", - "d": "Controla la longitud de la bib" - }, - "headSize": { - "t": "Head size", - "d": "The head circumference you want the bib to accomodate" - } - } -} diff --git a/designs/bob/i18n/fr.json b/designs/bob/i18n/fr.json deleted file mode 100644 index 0115ae6407e..00000000000 --- a/designs/bob/i18n/fr.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "t": "Bob le bavoir", - "d": "Voici le bavoir que vous pouvez créer en suivant notre tutoriel de design", - "p": { - "bib": "bavoir" - }, - "s": {}, - "o": { - "neckRatio": { - "t": "Ouverture du cou", - "d": "Contrôle la taille de l'ouverture du cou par rapport à la taille du bavoir" - }, - "widthRatio": { - "t": "Largeur", - "d": "Contrôle la largeur du bavoir" - }, - "lengthRatio": { - "t": "Longeur", - "d": "Contrôle la longueur du bavoir" - }, - "headSize": { - "t": "Taille de la tête", - "d": "Le tour de tête que vous voulez que le bavoir prenne en compte" - } - } -} diff --git a/designs/bob/i18n/index.mjs b/designs/bob/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/bob/i18n/index.mjs +++ b/designs/bob/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/bob/i18n/nl.json b/designs/bob/i18n/nl.json deleted file mode 100644 index 9f33a86575a..00000000000 --- a/designs/bob/i18n/nl.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "t": "Bob the bib", - "d": "This is the bib that you can create by following our design tutorial", - "p": { - "bib": "Slabber" - }, - "s": {}, - "o": { - "neckRatio": { - "t": "Neck opening", - "d": "Controls the size of the neck opening relative to the bib size" - }, - "widthRatio": { - "t": "Breedte", - "d": "Bepaalt de breedte van het slabbetje" - }, - "lengthRatio": { - "t": "Lengte", - "d": "Bepaalt de lengte van het slabbetje" - }, - "headSize": { - "t": "Head size", - "d": "The head circumference you want the bib to accomodate" - } - } -} diff --git a/designs/bob/i18n/uk.json b/designs/bob/i18n/uk.json deleted file mode 100644 index efbe0091dc8..00000000000 --- a/designs/bob/i18n/uk.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "t": "Bob the bib", - "d": "This is the bib that you can create by following our design tutorial", - "p": { - "bib": "Bib" - }, - "s": {}, - "o": { - "neckRatio": { - "t": "Neck opening", - "d": "Controls the size of the neck opening relative to the bib size" - }, - "widthRatio": { - "t": "Width", - "d": "Controls the width of the bib" - }, - "lengthRatio": { - "t": "Length", - "d": "Controls the length of the bib" - }, - "headSize": { - "t": "Head size", - "d": "The head circumference you want the bib to accomodate" - } - } -} diff --git a/designs/bob/package.json b/designs/bob/package.json index 0605e282c23..1270a080792 100644 --- a/designs/bob/package.json +++ b/designs/bob/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/bob", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a bib", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/bob/src/index.mjs b/designs/bob/src/index.mjs index 7f29e4b36e5..cb574842365 100644 --- a/designs/bob/src/index.mjs +++ b/designs/bob/src/index.mjs @@ -1,13 +1,13 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { bib } from './bib.mjs' import { i18n } from '../i18n/index.mjs' // Setup our new design const Bob = new Design({ - data, + data: about, parts: [bib], }) //Named exports -export { bib, Bob, i18n } +export { bib, Bob, i18n, about } diff --git a/designs/bob/tests/shared.test.mjs b/designs/bob/tests/shared.test.mjs index e96fbb1a67d..e72e3b86271 100644 --- a/designs/bob/tests/shared.test.mjs +++ b/designs/bob/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Bob, i18n } from '../src/index.mjs' +import { Bob, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Bob) +testPatternConfig(Bob, about) // Test translation testPatternI18n(Bob, i18n) diff --git a/designs/bonny/CHANGELOG.md b/designs/bonny/CHANGELOG.md new file mode 100644 index 00000000000..3d372db588f --- /dev/null +++ b/designs/bonny/CHANGELOG.md @@ -0,0 +1,17 @@ +# Change log for: @freesewing/bonny + + +## 3.0.0 (2023-09-30) + +### Changed + + - All FreeSewing packages are now ESM only. + - All FreeSewing packages now use named exports. + - Dropped support for NodeJS 14. NodeJS 18 (LTS/hydrogen) or more recent is now required. + + +This is the **initial release**, and the start of this change log. + +> Prior to version 2, FreeSewing was not a JavaScript project. +> As such, that history is out of scope for this change log. + diff --git a/designs/bonny/README.md b/designs/bonny/README.md new file mode 100644 index 00000000000..e87c9fde78e --- /dev/null +++ b/designs/bonny/README.md @@ -0,0 +1,143 @@ +

@freesewing/bonny on NPM + License: MIT + All Contributors +

Follow @freesewing_org on Twitter + Chat with us on Discord + Become a FreeSewing Patron +

+ +# @freesewing/bonny + +A FreeSewing pattern that turns measurements into a body outline + + + +# FreeSewing + +> [!TIP] +>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰 +> +> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. +> +> If you feel FreeSewing is worthwhile, and you can spend a few coins without +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). + +## What am I looking at? 🤔 + +This repository is the FreeSewing *monorepo* holding all FreeSewing's websites, documentation, designs, plugins, and other NPM packages. + +This folder holds: @freesewing/bonny + +If you're not entirely sure what to do or how to start, type this command: + +``` +npm run tips +``` + +> [!NOTE] +> If you don't want to set up a dev environment, you can run it in your browser: +> +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) +> +> We recommend that you fork our repository and then +> put `gitpod.io/# to start up a browser-based dev environment of your own. + +## About FreeSewing 💀 + +Where the world of makers and developers collide, that's where you'll find FreeSewing. + +If you're a maker, checkout [freesewing.eu](https://freesewing.eu/) where you can generate +sewing patterns adapted to your measurements. + +If you're a developer, the FreeSewing documentation lives at [freesewing.dev](https://freesewing.dev/). +The FreeSewing [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox +for parametric design of sewing patterns. But FreeSewing also provides a range +of [plugins](https://freesewing.dev/reference/plugins/) that further extend the +functionality of the platform. + +If you have NodeJS installed, you can try it right now by running: + +```bash +npx @freesewing/studio +``` + +Getting started guides are available for: +- [Linux](https://freesewing.dev/tutorials/getting-started-linux/) +- [MacOS](https://freesewing.dev/tutorials/getting-started-mac/) +- [Windows](https://freesewing.dev/tutorials/getting-started-windows/) + +The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will +show you how to create your first parametric design. + +## Getting started ⚡ + +To get started with FreeSewing, you can spin up our development environment with: + +```bash +npx @freesewing/studio +``` + +To work with FreeSewing's monorepo, you'll need [NodeJS v20](https://nodejs.org) on your system. +Once you have that, clone (or fork) this repo and run `npm run kickstart`: + +```bash +git clone git@codeberg.org:freesewing/freesewing.git +cd freesewing +npm run kickstart +``` + +## Links 👩‍💻 + +**Official channels** + + - 💻 Makers website: [FreeSewing.eu](https://freesewing.eu/) + - 💻 Developers website: [FreeSewing.dev](https://freesewing.dev/) + - ✅ [Support](https://forum.freesewing.eu/), + [Issues](https://codeberg.org/freesewing/freesewing/issues) & + [Codeberg](https://codeberg.org/freesewing/freesewing) + +**Social media** + + - 🐘 Mastodon: [@freesewing](https://freesewing.social/@freesewing) on [FreeSewing.social](https://freesewing.social/) + - 🐘 Mastodon: [@joost](https://freesewing.social/@joost) on [FreeSewing.social](https://freesewing.social/) + +**Places the FreeSewing community hangs out** + + - 💬 [Forum](https://forum.freesewing.eu/) + - 💬 [Discord](https://discord.freesewing.org/) + - 💬 [Reddit](https://www.reddit.com/r/freesewing/) + +## License: MIT 🤓 + +© [Joost De Cock](https://codeberg.org/joostdecock). +See [the license file](https://codeberg.org/freesewing/freesewing/blob/develop/LICENSE) for details. + +## Where to get help 🤯 + +For [Support](https://freesewing.eu/support), please use the [forum](https://forum.freesewing.eu). + diff --git a/designs/bonny/about.json b/designs/bonny/about.json new file mode 100644 index 00000000000..832ad54fa64 --- /dev/null +++ b/designs/bonny/about.json @@ -0,0 +1,12 @@ +{ + "id": "bonny", + "code": "Jonathan Haas", + "name": "Bonny", + "description": "A FreeSewing pattern that turns measurements into a body outline", + "design": "Jonathan Haas", + "difficulty": 1, + "tags": [], + "techniques": [], + "version": "4.0.0", + "pkg": "@freesewing/bonny" +} \ No newline at end of file diff --git a/designs/aaron/build.mjs b/designs/bonny/build.mjs similarity index 100% rename from designs/aaron/build.mjs rename to designs/bonny/build.mjs diff --git a/designs/bonny/data.mjs b/designs/bonny/data.mjs new file mode 100644 index 00000000000..bbfb24bef6d --- /dev/null +++ b/designs/bonny/data.mjs @@ -0,0 +1,4 @@ +// This file is auto-generated | All changes you make will be overwritten. +export const name = '@freesewing/bonny' +export const version = '3.3.0-rc.1' +export const data = { name, version } diff --git a/designs/bonny/i18n/en.json b/designs/bonny/i18n/en.json new file mode 100644 index 00000000000..ac51e11f789 --- /dev/null +++ b/designs/bonny/i18n/en.json @@ -0,0 +1,61 @@ +{ + "t": "Bonny", + "d": "A FreeSewing pattern that draws a body silhouette", + "p": { }, + "s": { + "validationOk.t": "Validation OK", + "validationOk.d": "Your measurements don't seem to contain any obvious contradictions or problems.", + "shouldBeLarger-hpsToWaistFront-hpsToBust.t": "Bust below waist", + "shouldBeLarger-hpsToWaistFront-hpsToBust.d": "The HPS to bust measurement should be smaller than HPS to waist front, since FreeSewing patterns assume that the bust line is higher than the waist line.", + "shouldBeLarger-hpsToWaistFront-waistToUnderbust.t": "Underbust above HPS", + "shouldBeLarger-hpsToWaistFront-waistToUnderbust.d": "Waist to underbust must be smaller than HPS to waist front, otherwise the HPS would not be above the underbust line.", + "shouldBeLarger-hpsToWaistFront-waistToArmpit.t": "Armpit above HPS", + "shouldBeLarger-hpsToWaistFront-waistToArmpit.d": "Waist to armpit must be smaller than HPS to waist front, otherwise the HPS would not be above the armpit.", + "shouldBeLarger-hpsToWaistBack-waistToArmpit.t": "Armpit above HPS", + "shouldBeLarger-hpsToWaistBack-waistToArmpit.d": "Waist to armpit must be smaller than HPS to waist back, otherwise the HPS would not be above the armpit.", + "shouldBeLarger-shoulderToWrist-shoulderToElbow.t": "Wrist above elbow", + "shouldBeLarger-shoulderToWrist-shoulderToElbow.d": "Shoulder to wrist should be larger than shoulder to elbow, otherwise the elbow would be farther from the shoulder than the wrist.", + "shouldBeLarger-waistToFloor-waistToKnee.t": "Knee below floor", + "shouldBeLarger-waistToFloor-waistToKnee.d": "Waist to knee should be smaller than waist to floor, otherwise the knee would be farther away from the waist than the floor.", + "shouldBeLarger-waistToKnee-waistToUpperLeg.t": "Upper leg below knee", + "shouldBeLarger-waistToKnee-waistToUpperLeg.d": "Waist to upper leg should be smaller than waist to knee, otherwise the upper leg would be farther away from the waist than the knee.", + "shouldBeLarger-waistToUpperLeg-waistToSeat.t": "Seat below upper leg", + "shouldBeLarger-waistToUpperLeg-waistToSeat.d": "Waist to upper leg should be larger than waist to seat. The seat should be measured around the fullest part of your bum, while the upper leg measurement should be taken around your upper leg, a bit below your crotch. Place your seat measurement around the bum, even if your body is wider around your upper legs.", + "shouldBeLarger-waistToSeat-waistToHips.t": "Hips below seat", + "shouldBeLarger-waistToSeat-waistToHips.d": "Waist to seat should be larger than waist to hips as your hips measurement should be taken around the top of your hip bone. FreeSewing designs may not work correctly if your seat measurement is at or above your hips measurement.", + "shouldBeLarger-waistToFloor-inseam.t": "Crotch above waist", + "shouldBeLarger-waistToFloor-inseam.d": "The inseam measurement must be smaller than the waist to floor measurement, since the inseam measurement is the distance from the crotch to the floor and the crotch can't be at or above the waist.", + "shouldBeLarger-crossSeam-crossSeamFront.t": "Cross seam front", + "shouldBeLarger-crossSeam-crossSeamFront.d": "The cross seam front measurement should be the front part of the cross seam measurement and thus must be smaller than the total cross seam measurement.", + "shouldBeLarger-seat-seatBack.t": "Seat", + "shouldBeLarger-seat-seatBack.d": "The seat back measurement should be the back part of the seat measurement and thus must be smaller than the total seat measurement.", + "shouldBeLarger-highBust-highBustFront.t": "High Bust", + "shouldBeLarger-highBust-highBustFront.d": "The high bust front measurement should be the front part of the high bust measurement and thus must be smaller than the total high bust measurement.", + "shouldBeLarger-chest-bustFront.t": "Chest", + "shouldBeLarger-chest-bustFront.d": "The bust front measurement should be the front part of the chest measurement and thus must be smaller than the total chest measurement.", + "shouldBeLarger-bustFront-bustSpan.t": "Bust span", + "shouldBeLarger-bustFront-bustSpan.d": "The bust span measurement can't be larger than the bust front measurement.", + "shouldBeLarger-waist-waistBack.t": "Waist circumference", + "shouldBeLarger-waist-waistBack.d": "The waist back measurement should be the back part of the waist circumference measurement and thus must be smaller than the total waist circumference.", + + "constraint-backChest.t": "Back chest", + "constraint-backChest.d": "The difference between the chest circumference and bust front, as well as the difference between high bust and high bust front measure both the back half of the ribcage and thus should be (at least approximately) equal.", + "constraint-waistFront.t": "Front bust measurements", + "constraint-waistFront.d": "Measuring from the HPS point directly to the waist across your front can't be larger than the sum of the individual vertical bust measurements (hps to bust, bustpoint to underbust, waist to underbust). However note that waist to underbust is measured at the side of the body instead of at the front, but usually this doesn't make a large difference.", + "constraint-waistToUpperLeg.t": "Upper leg above crotch", + "constraint-waistToUpperLeg.d": "The waist-to-upper-leg measurement goes from the waist along the body to a bit below the crotch and the inseam measurement goes vertically from the crotch to the floor. Thus, waist to upper leg should be a bit larger than the difference between waist to floor and the inseam measurement.", + "constraint-waistBack.t": "Back waist", + "constraint-waistBack.d": "The waist back measurement is usually not much bigger than half the waist measurement.", + "constraint-bustFront.t": "Bust front", + "constraint-bustFront.d": "The bust front measurement is usually a bit larger than half the chest measurement.", + "constraint-highBustFront.t": "High bust front", + "constraint-highBustFront.d": "The high bust front measurement is usually roughly half the high bust measurement.", + + "crossseam.t": "Cross seam", + "crossseam.d": "We could not draw a cross seam curve using your measurements. Double check the inseam measurement and check that waist to seat, waist to upper leg, and the cross seam measurements use the same waist line.", + + "crossseamfront.t": "Cross seam front", + "crossseamfront.d": "We could not determine the fork position on the crotch line. Double check your cross seam measurements and seat measurements." +}, + "o": { } +} diff --git a/designs/bonny/i18n/index.mjs b/designs/bonny/i18n/index.mjs new file mode 100644 index 00000000000..11028ae01ae --- /dev/null +++ b/designs/bonny/i18n/index.mjs @@ -0,0 +1,3 @@ +import en from './en.json' with { type: 'json' } + +export const i18n = { en } diff --git a/designs/bonny/package.json b/designs/bonny/package.json new file mode 100644 index 00000000000..36f92fc5b8a --- /dev/null +++ b/designs/bonny/package.json @@ -0,0 +1,63 @@ +{ + "name": "@freesewing/bonny", + "version": "4.0.0", + "description": "A FreeSewing pattern that turns measurements into a body outline", + "author": "Joost De Cock (https://github.com/joostdecock)", + "homepage": "https://freesewing.org/", + "repository": "github:freesewing/freesewing", + "license": "MIT", + "bugs": { + "url": "https://github.com/freesewing/freesewing/issues" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "keywords": [ + "freesewing", + "design", + "diy", + "fashion", + "made to measure", + "parametric design", + "pattern", + "sewing", + "sewing pattern" + ], + "type": "module", + "module": "src/index.mjs", + "exports": { + ".": "./src/index.mjs" + }, + "scripts": { + "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", + "test": "npx mocha tests/*.test.mjs", + "tips": "node ../../scripts/help.mjs", + "lint": "npx eslint 'src/**' 'tests/*.mjs'", + "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0" + }, + "dependencies": {}, + "devDependencies": { + "mocha": "10.4.0", + "chai": "5.1.1", + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" + }, + "files": [ + "src/", + "i18n/", + "about.json", + "README.md" + ], + "publishConfig": { + "access": "public", + "tag": "latest" + }, + "engines": { + "node": ">= 20" + } +} diff --git a/designs/bonny/src/front.mjs b/designs/bonny/src/front.mjs new file mode 100644 index 00000000000..f615ced509d --- /dev/null +++ b/designs/bonny/src/front.mjs @@ -0,0 +1,654 @@ +import { side } from './side.mjs' + +const descendingCheck = [ + ['hpsToWaistFront', 'hpsToBust'], + ['hpsToWaistFront', 'waistToUnderbust'], + ['hpsToWaistFront', 'waistToArmpit'], + ['hpsToWaistBack', 'waistToArmpit'], + ['shoulderToWrist', 'shoulderToElbow'], + ['waistToFloor', 'waistToKnee', 'waistToUpperLeg', 'waistToSeat', 'waistToHips'], + ['waistToFloor', 'inseam'], + ['crossSeam', 'crossSeamFront'], + ['seat', 'seatBack'], + ['highBust', 'highBustFront'], + ['chest', 'bustFront', 'bustSpan'], + ['waist', 'waistBack'], +] + +const constraintCheck = [ + { + lhs: [ + { m: 'highBust', coefficient: 1 }, + { m: 'highBustFront', coefficient: -1 }, + ], + rhs: [ + { m: 'chest', coefficient: 1 }, + { m: 'bustFront', coefficient: -1 }, + ], + tolerance: 0.05, + key: 'backChest', + }, + { + lhs: [{ m: 'hpsToWaistFront', coefficient: 1 }], + rhs: [ + { m: 'hpsToBust', coefficient: 1 }, + { m: 'bustPointToUnderbust', coefficient: 1 }, + { m: 'waistToUnderbust', coefficient: 1 }, + ], + lhsMustBeSmaller: true, + tolerance: 0.1, + key: 'waistFront', + }, + { + lhs: [{ m: 'waistToFloor', coefficient: 1 }], + rhs: [ + { m: 'waistToUpperLeg', coefficient: 1 }, + { m: 'inseam', coefficient: 1 }, + ], + tolerance: 0, + lhsMustBeSmaller: true, + key: 'waistToUpperLeg', + }, + { + lhs: [{ m: 'waistBack', coefficient: 2 }], + rhs: [{ m: 'waist', coefficient: 1 }], + lhsMustBeSmaller: true, + tolerance: 0.1, + key: 'waistBack', + }, + { + lhs: [{ m: 'chest', coefficient: 1 }], + rhs: [{ m: 'bustFront', coefficient: 2 }], + tolerance: 0.2, + lhsMustBeSmaller: true, + key: 'bustFront', + }, + { + lhs: [{ m: 'highBust', coefficient: 1 }], + rhs: [{ m: 'highBustFront', coefficient: 2 }], + tolerance: 0.2, + key: 'highBustFront', + }, +] + +function checkDescendingSet(set, warnings, measies) { + let biggerValue = null + let biggerMeasurement = null + for (const measurement of set) { + let value = measies[measurement] + if (value !== null) { + if (biggerValue !== null && value >= biggerValue) { + warnings.push(`shouldBeLarger-${biggerMeasurement}-${measurement}`) + } else { + biggerValue = value + biggerMeasurement = measurement + } + } + } +} + +function checkConstraint(constraint, warnings, measies) { + let lhsSum = sumMeasurements(constraint.lhs, measies) + let rhsSum = sumMeasurements(constraint.rhs, measies) + if (lhsSum === false || rhsSum === false) { + // Some measurements are missing + return + } + const difference = Math.abs(((lhsSum - rhsSum) / (lhsSum + rhsSum)) * 2) + if (difference <= constraint.tolerance) { + // minor difference + return + } + if (constraint.lhsMustBeSmaller) { + if (lhsSum > rhsSum) { + warnings.push(`constraint-${constraint.key}`) + } + } else { + warnings.push(`constraint-${constraint.key}`) + } +} + +function sumMeasurements(params, measies) { + let result = 0 + for (const e of params) { + if (!measies[e.m]) { + return false + } + result += e.coefficient * measies[e.m] + } + return result +} + +function checkDescendingSets(warnings, measies) { + for (const e of descendingCheck) { + checkDescendingSet(e, warnings, measies) + } +} +function checkConstraints(warnings, measies) { + for (const e of constraintCheck) { + checkConstraint(e, warnings, measies) + } +} +function draftFront({ measurements, Point, Path, points, paths, macro, utils, store, part }) { + points.floor = new Point(0, 0) + + points.ankle = new Point(0, -measurements.heel * 0.35) + + points.waist = new Point(0, -measurements.waistToFloor) + + points.hips = points.waist.shift(-90, measurements.waistToHips) + + points.seat = points.waist.shift(-90, measurements.waistToSeat) + + points.knee = points.waist.shift(-90, measurements.waistToKnee) + + points.crotch = points.waist.shift(-90, measurements.waistToUpperLeg) + + points.underbust = points.waist.shift(90, measurements.waistToUnderbust) + + const y = measurements.bustPointToUnderbust + const x = Math.min(y, 0.3 * (measurements.chest - measurements.underbust)) + const bustPointToUnderbust = Math.sqrt(y * y - x * x) + points.bust1 = points.underbust.shift(90, bustPointToUnderbust) + + points.armpit = points.waist.shift(90, measurements.waistToArmpit) + + points.neck = points.waist.shift(90, measurements.hpsToWaistBack * 0.88) + + points.bust2 = points.neck.shift(-90, measurements.hpsToBust * 0.82) + + points.bust = points.bust1.shiftFractionTowards(points.bust2, 0.5) + + points.shoulder = points.neck.shift( + -90, + (Math.sin((measurements.shoulderSlope / 180) * Math.PI) * measurements.shoulderToShoulder) / 2 + ) + points.head = points.neck.shift(90, measurements.head * 0.43) + + points.armpitCrease = points.armpit.shiftFractionTowards(points.shoulder, 0.1) + + points.elbow = points.shoulder.shift(-90, measurements.shoulderToElbow * 0.95) + points.wrist = points.shoulder.shift(-90, measurements.shoulderToWrist * 0.95) + + points.outerShoulder = points.shoulder.shift(180, measurements.shoulderToShoulder * 0.44) + points.outerShoulderLower = points.shoulder + .shiftFractionTowards(points.armpit, 0.2) + .shift(180, measurements.shoulderToShoulder * 0.51) + + points.crotchMain = points.floor.shift(90, measurements.inseam) + + points.crotchMainCp2 = points.crotchMain.shift(180, measurements.seat * 0.005) + + points.crotchCurve = points.crotchMain.shift(147, measurements.seat * 0.023) + points.crotchCurveCp1 = points.crotchMain.shift(180, measurements.seat * 0.01) + + points.innerCrotch = points.crotch.shift( + 180, + Math.max(measurements.seat * 0.03, measurements.seat - measurements.upperLeg * 1.4) * 0.06 + ) + + points.crotchCp1 = points.innerCrotch.shift(86, measurements.seat * 0.01) + points.crotchCp2 = points.innerCrotch.shift(-94, points.crotch.dy(points.knee) * 0.6) + + points.outerUpperLeg = new Point( + (measurements.seat + measurements.upperLeg * 1.7) * -0.094, + points.innerCrotch.y + ) + + points.footMain = points.floor.shift(180, measurements.hips * 0.11) + points.ankleMain = points.ankle.shift(180, measurements.hips * 0.11) + points.kneeMain = points.knee.shift(180, measurements.hips * 0.12) + points.upperLegMain = points.crotch.shift(180, measurements.upperLeg * 0.17) + points.shoulderMain = points.shoulder.shift(180, measurements.shoulderToShoulder * 0.4) + points.elbowMain = utils.beamIntersectsY( + points.shoulderMain, + points.shoulderMain.shift(258.5, 10), + points.elbow.y + ) + points.wristMain = utils.beamIntersectsY( + points.shoulderMain, + points.shoulderMain.shift(256.4, 10), + points.wrist.y + ) + + points.innerKnee = points.kneeMain.shift(0, measurements.knee * 0.17) + points.outerKnee = points.kneeMain.shift(180, measurements.knee * 0.15) + + points.calf = points.kneeMain + .shiftFractionTowards(points.ankleMain, 0.2) + .shift(180, points.knee.dy(points.ankle) * 0.01) + points.outerCalf = points.calf.shift(180, measurements.knee * 0.17) + points.innerCalf = points.calf.shift(0, measurements.knee * 0.15) + + points.innerAnkle = points.ankleMain.shift(0, measurements.ankle * 0.13) + points.outerAnkle = points.ankleMain.shift(180, measurements.ankle * 0.13) + + points.innerFoot = points.footMain.shift(0, measurements.heel * 0.13) + points.outerFoot = points.footMain.shift(180, measurements.heel * 0.08) + + points.innerSideFoot = points.footMain.shift(18, measurements.heel * 0.175) + points.outerSideFoot = points.footMain.shift(163, measurements.heel * 0.138) + + points.innerSideFootCp1 = points.innerSideFoot.shift(90, measurements.heel * 0.05) + points.innerSideFootCp2 = points.innerSideFoot.shift(-90, measurements.heel * 0.03) + + points.outerSideFootCp1 = points.outerSideFoot.shift(-90, measurements.heel * 0.03) + points.outerSideFootCp2 = points.outerSideFoot.shift(90, measurements.heel * 0.05) + + points.innerFootCp1 = points.innerFoot.shift(0, measurements.heel * 0.02) + points.outerFootCp2 = points.outerFoot.shift(180, measurements.heel * 0.02) + + points.outerSeat = points.seat.shift(180, measurements.seat * 0.18) + + points.outerHips = points.hips.shift(180, measurements.hips * 0.18) + + points.outerWaist = points.waist.shift(180, measurements.waist * 0.18) + + points.outerUnderbust = points.underbust.shift(180, measurements.underbust * 0.175) + + points.outerBust = points.bust.shift( + 180, + (measurements.highBust - measurements.highBustFront) * 0.36 + ) + + points.outerArmpit = points.armpitCrease.shift(180, measurements.shoulderToShoulder * 0.36) + + points.innerElbow = points.elbowMain.shift(-20, measurements.biceps * 0.12) + points.outerElbow = points.elbowMain.shift(160, measurements.biceps * 0.15) + + points.innerWrist = points.wristMain.shift(-20, measurements.wrist * 0.1) + points.outerWrist = points.wristMain.shift(160, measurements.wrist * 0.15) + + points.outerArm = points.outerShoulderLower.shift(-104, measurements.biceps * 0.29) + + points.outerNeck = points.neck.shift(180, measurements.neck * 0.15) + points.outerUpperNeck = points.neck.shift(138, measurements.head * 0.13) + points.chin = points.neck.shift(140, measurements.head * 0.105) + + points.outerUpperLegCp1 = points.outerUpperLeg.shift( + -90, + (measurements.waistToKnee - measurements.waistToUpperLeg) * 0.5 + ) + points.outerUpperLegCp2 = points.outerUpperLeg.shift( + 90, + (measurements.waistToUpperLeg - measurements.waistToSeat) * 0.3 + ) + + let kneeToFloor = measurements.waistToFloor - measurements.waistToKnee + let ankleToFloor = -points.ankleMain.y + + points.innerKneeCp1 = points.innerKnee.shift(82, kneeToFloor * 0.06) + points.innerKneeCp2 = points.innerKnee.shift(-98, kneeToFloor * 0.06) + + points.innerCalfCp1 = points.innerCalf.shift(95, kneeToFloor * 0.05) + points.innerCalfCp2 = points.innerCalf.shift(-85, kneeToFloor * 0.3) + + points.innerAnkleCp1 = points.innerAnkle.shift(95, ankleToFloor * 0.9) + points.innerAnkleCp2 = points.innerAnkle.shift(-85, ankleToFloor * 0.7) + + points.outerKneeCp1 = points.outerKnee.shift(-90, kneeToFloor * 0.06) + points.outerKneeCp2 = points.outerKnee.shift(90, kneeToFloor * 0.2) + + points.outerAnkleCp1 = points.outerAnkle.shift(-83, ankleToFloor * 0.7) + points.outerAnkleCp2 = points.outerAnkle.shift(97, ankleToFloor * 0.7) + + points.outerCalfCp1 = points.outerCalf.shift(-95, kneeToFloor * 0.22) + points.outerCalfCp2 = points.outerCalf.shift(85, kneeToFloor * 0.07) + + points.outerSeatCp1 = points.outerSeat.shift( + points.outerHips.angle(points.outerUpperLeg), + measurements.seat * 0.03 + ) + points.outerSeatCp2 = points.outerSeat.shift( + points.outerHips.angle(points.outerUpperLeg), + measurements.seat * -0.06 + ) + + points.outerHipsCp1 = points.outerHips.shift( + points.outerWaist.angle(points.outerSeat), + measurements.hips * 0.05 + ) + points.outerHipsCp2 = points.outerHips.shift( + points.outerWaist.angle(points.outerSeat), + measurements.hips * -0.05 + ) + + points.outerWaistCp1 = points.outerWaist.shift( + points.outerUnderbust.angle(points.outerHips), + measurements.waist * 0.05 + ) + points.outerWaistCp2 = points.outerWaist.shift( + points.outerUnderbust.angle(points.outerHips), + measurements.waist * -0.05 + ) + + points.outerUnderbustCp1 = points.outerUnderbust.shift( + points.outerBust.angle(points.outerWaist), + measurements.underbust * 0.07 + ) + points.outerUnderbustCp2 = points.outerUnderbust.shift( + points.outerBust.angle(points.outerWaist), + measurements.underbust * -0.02 + ) + + points.outerBustCp1 = points.outerBust.shift( + points.outerBust.angle(points.outerWaist), + measurements.highBust * 0.02 + ) + points.outerBustCp2 = points.outerBust.shift( + points.outerBust.angle(points.outerWaist), + measurements.highBust * -0.02 + ) + + points.outerBustCp3 = points.outerBust.shift(-110, measurements.biceps * 0.15) + + points.innerElbowCp1 = points.innerElbow.shift(70, measurements.biceps * 0.05) + points.innerElbowCp2 = points.innerElbow.shift(-97, measurements.biceps * 0.25) + + points.innerWristCp1 = points.innerWrist.shift(70, measurements.wrist * 0.25) + points.innerWristCp2 = points.innerWrist.shift(-110, measurements.wrist * 0.1) + + points.outerWristCp1 = points.outerWrist.shift(-97, measurements.wrist * 0.05) + points.outerWristCp2 = points.outerWrist.shift(83, measurements.wrist * 0.9) + + points.outerElbowCp1 = points.outerElbow.shift(-107, measurements.biceps * 0.25) + points.outerElbowCp2 = points.outerElbow.shift(73, measurements.biceps * 0.3) + + points.outerArmCp1 = points.outerArm.shift(-97, measurements.biceps * 0.25) + points.outerArmCp2 = points.outerArm.shift(83, measurements.biceps * 0.2) + + points.outerShoulderLowerCp1 = points.outerShoulderLower.shift( + points.outerArm.angle(points.outerShoulder) - 10, + measurements.biceps * -0.05 + ) + points.outerShoulderLowerCp2 = points.outerShoulderLower.shift( + points.outerArm.angle(points.outerShoulder) - 10, + measurements.biceps * 0.25 + ) + // + // points.outerShoulderCp1 = points.outerShoulder.shift( + // points.outerShoulderLower.angle(points.outerNeck), + // measurements.shoulderToShoulder * -0.10 + // ) + // points.outerShoulderCp2 = points.outerShoulder.shift( + // points.outerShoulderLower.angle(points.outerNeck), + // measurements.shoulderToShoulder * 0.13 + // ) + + points.outerNeckCp1 = points.outerNeck.shift( + points.outerShoulder.angle(points.outerUpperNeck) + 15, + measurements.neck * -0.09 + ) + points.outerNeckCp2 = points.outerNeck.shift( + points.outerShoulder.angle(points.outerUpperNeck) + 15, + measurements.neck * 0.05 + ) + + points.bustPointCenter = points.bust.shift(180, measurements.bustSpan * 0.5) + points.bustPointOuter = points.bustPointCenter.shift(180, measurements.bustFront * 0.016) + + points.underBustLine = points.underbust.shift(180, measurements.bustSpan * 0.5) + points.underBustLineOuter = points.underBustLine.shift(160, measurements.bustSpan * 0.08) + points.underBustLineInner = points.underBustLine.shift(23, measurements.bustSpan * 0.28) + + points.underBustLineCp1 = points.underBustLine.shift(170, measurements.bustSpan * 0.05) + points.underBustLineCp2 = points.underBustLine.shift(-10, measurements.bustSpan * 0.17) + + points.belowEar = points.neck.shift(130, measurements.head * 0.18) + points.earBottom = points.neck.shift(131, measurements.head * 0.2) + points.earLeftLow = points.neck.shift(131, measurements.head * 0.225) + points.earLeftHigh = points.neck.shift(125, measurements.head * 0.27) + points.earTop = points.neck.shift(120.5, measurements.head * 0.28) + points.aboveEar = points.neck.shift(117, measurements.head * 0.29) + + points.belowEarCp1 = points.belowEar.shift(-75, measurements.head * 0.01) + points.belowEarCp2 = points.belowEar.shift(-75, measurements.head * -0.01) + points.earBottomCp1 = points.earBottom.shift(-5, measurements.head * 0.01) + points.earBottomCp2 = points.earBottom.shift(-5, measurements.head * -0.01) + points.earLeftLowCp1 = points.earLeftLow.shift(-75, measurements.head * 0.01) + points.earLeftLowCp2 = points.earLeftLow.shift(-75, measurements.head * -0.01) + points.earLeftHighCp1 = points.earLeftHigh.shift(-85, measurements.head * 0.01) + points.earLeftHighCp2 = points.earLeftHigh.shift(-85, measurements.head * -0.01) + points.earTopCp1 = points.earTop.shift(160, measurements.head * 0.01) + points.earTopCp2 = points.earTop.shift(160, measurements.head * -0.01) + points.aboveEarCp1 = points.aboveEar.shift(-90, measurements.head * 0.01) + points.aboveEarCp2 = points.aboveEar.shift(-90, measurements.head * -0.1) + points.headCp1 = points.head.shift(180, measurements.head * 0.1) + + points.upperEye = points.neck.shift(102.5, measurements.head * 0.25) + points.lowerEye = points.neck.shift(105, measurements.head * 0.237) + points.outerEye = points.neck.shift(108.3, measurements.head * 0.247) + points.innerEye = points.neck.shift(99, measurements.head * 0.235) + points.upperEyeCp1 = points.upperEye.shift(0, measurements.head * 0.01) + points.upperEyeCp2 = points.upperEye.shift(180, measurements.head * 0.01) + points.lowerEyeCp1 = points.lowerEye.shift(180, measurements.head * 0.01) + points.lowerEyeCp2 = points.lowerEye.shift(0, measurements.head * 0.01) + points.outerEyeCp1 = points.outerEye.shift(90, measurements.head * 0.005) + points.outerEyeCp2 = points.outerEye.shift(-90, measurements.head * 0.005) + points.innerEyeCp1 = points.innerEye.shift(-90, measurements.head * 0.003) + points.innerEyeCp2 = points.innerEye.shift(90, measurements.head * 0.01) + + points.innerNose = points.neck.shift(94.5, measurements.head * 0.16) + points.innerNoseCp = points.neck.shift(95.5, measurements.head * 0.163) + points.outerNose = points.neck.shift(96.8, measurements.head * 0.162) + + points.innerMouth = points.neck.shift(90, measurements.head * 0.112) + points.innerMouthCp = points.innerMouth.shift(180, measurements.head * 0.02) + points.outerMouth = points.neck.shift(111, measurements.head * 0.117) + + points.lowerEar = points.neck.shift(128, measurements.head * 0.217) + points.lowerEarCp = points.neck.shift(126, measurements.head * 0.23) + points.upperEar = points.neck.shift(123.5, measurements.head * 0.24) + + const handScale = measurements.wrist * 0.85 + + points.handA = points.wristMain.shift(-65, handScale * 0.5) + points.handB = points.wristMain.shift(-65, handScale * 0.7) + points.handC = points.wristMain.shift(-70, handScale * 0.79) + points.handD = points.wristMain.shift(-77, handScale * 0.7) + points.handE = points.wristMain.shift(-83, handScale * 0.53) + points.handF = points.wristMain.shift(-90, handScale * 0.7) + points.handZ = points.wristMain.shift(-92, handScale * 0.9) + points.handG = points.wristMain.shift(-89, handScale * 1.2) + points.handFork = points.wristMain.shift(-90.6, handScale * 1.32) + points.handH = points.wristMain.shift(-93, handScale * 1.42) + points.handJ = points.wristMain.shift(-109, handScale * 0.7) + points.handInner = points.wristMain.shift(-105, handScale * 0.74) + + points.handACp1 = points.handA.shift(110, handScale * 0.1) + points.handACp2 = points.handA.shift(-70, handScale * 0.1) + points.handBCp1 = points.handB.shift(115, handScale * 0.1) + points.handBCp2 = points.handB.shift(-65, handScale * 0.05) + points.handCCp1 = points.handC.shift(20, handScale * 0.05) + points.handCCp2 = points.handC.shift(200, handScale * 0.05) + points.handDCp1 = points.handD.shift(-65, handScale * 0.05) + points.handDCp2 = points.handD.shift(115, handScale * 0.1) + points.handECp1 = points.handE.shift(-55, handScale * 0.05) + points.handECp2 = points.handE.shift(-125, handScale * 0.05) + points.handFCp1 = points.handF.shift(80, handScale * 0.1) + points.handFCp2 = points.handF.shift(-100, handScale * 0.1) + points.handZCp1 = points.handZ.shift(90, handScale * 0.1) + points.handZCp2 = points.handZ.shift(-90, handScale * 0.1) + points.handGCp1 = points.handG.shift(100, handScale * 0.1) + points.handGCp2 = points.handG.shift(-80, handScale * 0.1) + points.handForkCp1 = points.handFork.shift(40, handScale * 0.05) + points.handForkCp2 = points.handFork.shift(-180, handScale * 0.07) + points.handForkCp3 = points.handFork.shift(-90, handScale * 0.05) + points.handHCp1 = points.handH.shift(0, handScale * 0.05) + points.handHCp2 = points.handH.shift(110, handScale * 0.1) + points.handJCp1 = points.handJ.shift(-90, handScale * 0.4) + points.handJCp2 = points.handJ.shift(90, handScale * 0.4) + points.handInnerCp1 = points.handInner.shift(-90, handScale * 0.2) + + paths.front = new Path() + .move(points.crotchMain) + .curve(points.crotchMainCp2, points.crotchCp1, points.innerCrotch) + .curve(points.crotchCp2, points.innerKneeCp1, points.innerKnee) + .curve(points.innerKneeCp2, points.innerCalfCp1, points.innerCalf) + .curve(points.innerCalfCp2, points.innerAnkleCp1, points.innerAnkle) + .curve(points.innerAnkleCp2, points.innerSideFootCp1, points.innerSideFoot) + .curve(points.innerSideFootCp2, points.innerFootCp1, points.innerFoot) + .line(points.outerFoot) + .curve(points.outerFootCp2, points.outerSideFootCp1, points.outerSideFoot) + .curve(points.outerSideFootCp2, points.outerAnkleCp1, points.outerAnkle) + .curve(points.outerAnkleCp2, points.outerCalfCp1, points.outerCalf) + .curve(points.outerCalfCp2, points.outerKneeCp1, points.outerKnee) + .curve(points.outerKneeCp2, points.outerUpperLegCp1, points.outerUpperLeg) + .curve(points.outerUpperLegCp2, points.outerSeatCp1, points.outerSeat) + .curve(points.outerSeatCp2, points.outerHipsCp1, points.outerHips) + .curve(points.outerHipsCp2, points.outerWaistCp1, points.outerWaist) + .curve(points.outerWaistCp2, points.outerBustCp1, points.outerBust) + .curve_(points.outerBustCp2, points.outerArmpit) + .move(points.outerBust) + .curve(points.outerBustCp3, points.innerElbowCp1, points.innerElbow) + .curve(points.innerElbowCp2, points.innerWristCp1, points.innerWrist) + .curve(points.innerWristCp2, points.handACp1, points.handA) + .curve(points.handACp2, points.handBCp1, points.handB) + .curve(points.handBCp2, points.handCCp1, points.handC) + .curve(points.handCCp2, points.handDCp1, points.handD) + .curve(points.handDCp2, points.handECp1, points.handE) + .curve(points.handECp2, points.handFCp1, points.handF) + .curve(points.handFCp2, points.handZCp1, points.handZ) + .curve(points.handZCp2, points.handGCp1, points.handG) + .curve(points.handGCp2, points.handForkCp1, points.handFork) + .curve(points.handForkCp2, points.handInnerCp1, points.handInner) + .move(points.handFork) + .curve(points.handForkCp3, points.handHCp1, points.handH) + .curve(points.handHCp2, points.handJCp1, points.handJ) + .curve(points.handJCp2, points.outerWristCp1, points.outerWrist) + .curve(points.outerWristCp2, points.outerElbowCp1, points.outerElbow) + .curve(points.outerElbowCp2, points.outerArmCp1, points.outerArm) + .curve(points.outerArmCp2, points.outerShoulderLowerCp1, points.outerShoulderLower) + .curve(points.outerShoulderLowerCp2, points.outerNeckCp1, points.outerNeck) + .curve_(points.outerNeckCp2, points.outerUpperNeck) + .move(points.chin) + .line(points.outerUpperNeck) + ._curve(points.belowEarCp1, points.belowEar) + .curve(points.belowEarCp2, points.earBottomCp1, points.earBottom) + .curve(points.earBottomCp2, points.earLeftLowCp1, points.earLeftLow) + .curve(points.earLeftLowCp2, points.earLeftHighCp1, points.earLeftHigh) + .curve(points.earLeftHighCp2, points.earTopCp1, points.earTop) + .curve(points.earTopCp2, points.aboveEarCp1, points.aboveEar) + .curve(points.aboveEarCp2, points.headCp1, points.head) + .attr('class', 'stroke-xl') + + paths.bustPoint = new Path() + .move(points.bustPointOuter) + .circleSegment(360, points.bustPointCenter) + .attr('class', 'stroke-xl') + + if (store.showBust) { + paths.bustLine = new Path() + .move(points.underBustLineOuter) + ._curve(points.underBustLineCp1, points.underBustLine) + .curve_(points.underBustLineCp2, points.underBustLineInner) + .attr('class', 'stroke-xl') + } + + paths.crotch = new Path() + .move(points.crotchMain) + .curve_(points.crotchCurveCp1, points.crotchCurve) + .attr('class', 'stroke-xl') + + paths.eye = new Path() + .move(points.upperEye) + .curve(points.upperEyeCp2, points.outerEyeCp1, points.outerEye) + .curve(points.outerEyeCp2, points.lowerEyeCp1, points.lowerEye) + .curve(points.lowerEyeCp2, points.innerEyeCp1, points.innerEye) + .curve(points.innerEyeCp2, points.upperEyeCp1, points.upperEye) + .circleSegment(-120, points.upperEye.shiftFractionTowards(points.lowerEye, 0.5)) + .move(points.lowerEye) + .circleSegment(-100, points.upperEye.shiftFractionTowards(points.lowerEye, 0.5)) + .attr('class', 'stroke-xl') + + paths.nose = new Path() + .move(points.innerNose) + .curve_(points.innerNoseCp, points.outerNose) + .attr('class', 'stroke-xl') + + paths.mouth = new Path() + .move(points.innerMouth) + .curve_(points.innerMouthCp, points.outerMouth) + .attr('class', 'stroke-xl') + + paths.ear = new Path() + .move(points.lowerEar) + .curve_(points.lowerEarCp, points.upperEar) + .attr('class', 'stroke-xl') + + macro('mirror', { + clone: true, + mirror: [points.floor, points.head], + paths: Object.keys(paths).filter((it) => !it.startsWith('side')), + }) + + const warnings = [] + checkDescendingSets(warnings, measurements) + checkConstraints(warnings, measurements) + const fac = paths.sideFullCrossSeam.intersectsY( + points.sideCrotchMain.shiftFractionTowards(points.sideCrotch, 0.1).y + ).length + if (fac > 2) { + warnings.push('crossseam') + } + if (paths.sideCrossSeamFront.length() === 0 || paths.sideCrossSeamBack.length() === 0) { + warnings.push('crossseamfront') + } + + if (warnings.length === 0) { + store.flag.info({ msg: 'bonny:validationOk' }) + } else { + for (const warning of warnings) { + store.flag.warn({ msg: `bonny:${warning}` }) + } + } + + return part +} + +export const front = { + name: 'front', + from: side, + options: {}, + measurements: [ + 'ankle', + 'biceps', + 'bustFront', + 'bustPointToUnderbust', + 'bustSpan', + 'chest', + 'crossSeam', + 'crossSeamFront', + 'crotchDepth', + 'heel', + 'head', + 'highBust', + 'highBustFront', + 'hips', + 'hpsToBust', + 'hpsToWaistBack', + 'hpsToWaistFront', + 'inseam', + 'knee', + 'neck', + 'seat', + 'seatBack', + 'shoulderSlope', + 'shoulderToElbow', + 'shoulderToShoulder', + 'shoulderToWrist', + 'underbust', + 'upperLeg', + 'waist', + 'waistBack', + 'waistToArmpit', + 'waistToFloor', + 'waistToHips', + 'waistToKnee', + 'waistToSeat', + 'waistToUnderbust', + 'waistToUpperLeg', + 'wrist', + ], + draft: draftFront, +} diff --git a/designs/bonny/src/index.mjs b/designs/bonny/src/index.mjs new file mode 100644 index 00000000000..72de5b3d6ea --- /dev/null +++ b/designs/bonny/src/index.mjs @@ -0,0 +1,15 @@ +import { Design } from '@freesewing/core' +import { i18n } from '../i18n/index.mjs' +import about from '../about.json' with { type: 'json' } +// Parts +import { front } from './front.mjs' +import { side } from './side.mjs' + +// Create new design +const Bonny = new Design({ + data: about, + parts: [side, front], +}) + +// Named exports +export { side, i18n, Bonny, about } diff --git a/designs/bonny/src/side.mjs b/designs/bonny/src/side.mjs new file mode 100644 index 00000000000..c96dcb59ac8 --- /dev/null +++ b/designs/bonny/src/side.mjs @@ -0,0 +1,704 @@ +function draftSide({ measurements, Point, Path, points, paths, complete, store, utils, part }) { + function safeSplit(path, point) { + let result = [new Path(), new Path()] + let beforeSplit = true + for (const op of path.ops) { + if (beforeSplit) { + result[0].ops.push(op) + if (op.to.sitsOn(point)) { + beforeSplit = false + result[1].move(op.to) + } + } else { + result[1].ops.push(op) + } + } + if (beforeSplit) { + result = path.split(point) + if (result[0] === null && result[1] === null) { + result[1] = path + } + if (result[0] === null) result[0] = new Path().move(path.start()).close() + if (result[1] === null) result[1] = new Path().move(path.end()).close() + } + return result + } + + const sideOffset = measurements.shoulderToShoulder * 1.6 + + // The 'bg' that we use here must match the id we set on the SVG tag + // snippets.backgroundSide = new Snippet('side', new Point(-170 + sideOffset, -1660)).attr( + // 'data-scale', + // 0.631 + // ) + + points.sideFloor = new Point(sideOffset, 0) + + points.sideAnkle = new Point(sideOffset, -measurements.heel * 0.35) + + points.sideWaist = new Point(sideOffset, -measurements.waistToFloor) + + points.sideHips = points.sideWaist.shift(-90, measurements.waistToHips) + + points.sideSeat = points.sideWaist.shift(-90, measurements.waistToSeat) + + points.sideKnee = points.sideWaist.shift(-90, measurements.waistToKnee) + + points.sideCrotch = points.sideWaist.shift(-90, measurements.waistToUpperLeg) + + points.sideUnderbust = points.sideWaist.shift(90, measurements.waistToUnderbust) + + const y = measurements.bustPointToUnderbust + const x = Math.min(y, 0.3 * (measurements.chest - measurements.underbust)) + const bustPointToUnderbust = Math.sqrt(y * y - x * x) + points.sideBust1 = points.sideUnderbust.shift(90, bustPointToUnderbust) + + points.sideArmpit = points.sideWaist.shift(90, measurements.waistToArmpit) + + points.sideNeck = points.sideWaist.shift(90, measurements.hpsToWaistBack * 0.88) + + points.sideBust2 = points.sideNeck.shift(-90, measurements.hpsToBust * 0.82) + + points.sideBust = points.sideBust1.shiftFractionTowards(points.sideBust2, 0.5) + + points.sideShoulder = points.sideNeck.shift( + -90, + (Math.sin((measurements.shoulderSlope / 180) * Math.PI) * measurements.shoulderToShoulder) / 2 + ) + points.sideHead = points.sideNeck.shift(90, measurements.head * 0.43) + + points.sideArmStart = points.sideArmpit.shiftFractionTowards(points.sideWaist, 0.1) + + points.sideElbow = points.sideShoulder.shift(-90, measurements.shoulderToElbow * 0.95) + points.sideWrist = points.sideShoulder.shift(-90, measurements.shoulderToWrist * 0.95) + // points.sideFloor.addText('points.sideFloor') + // points.sideWaist.addText('points.sideWaist') + // points.sideHips.addText('points.sideHips') + // points.sideSeat.addText('points.sideSeat') + // points.sideKnee.addText('points.sideKnee') + // points.sideCrotch.addText('points.sideCrotch') + // points.sideArmpit.addText('points.sideArmpit') + // points.sideShoulder.addText('points.sideShoulder') + // points.sideNeck.addText('points.sideNeck') + // points.sideHead.addText('points.sideHead') + // points.sideBust.addText('points.sideBust') + // points.sideUnderbust.addText('points.sideUnderbust') + // points.sideElbow.addText('points.sideElbow') + // points.sideWrist.addText('points.sideWrist') + + points.sideFootBottom = points.sideFloor.shift(180, measurements.heel * 0.3) + points.sideToeBottom = points.sideFloor.shift(180, measurements.heel * 0.5) + points.sideToeTop = points.sideToeBottom.shift(135, measurements.heel * 0.08) + points.sideHeelBottom = points.sideFloor.shift(0, measurements.heel * 0.1) + points.sideHeelBack = points.sideHeelBottom.shift(20, measurements.heel * 0.09) + points.sideToeGap = points.sideFootBottom.shift(175, measurements.heel * 0.15) + + points.sideHeelFront = points.sideHeelBack.shift(145, measurements.heel * 0.39) + points.sideFootBottomCp1 = points.sideFootBottom.shift(0, measurements.heel * 0.1) + points.sideFootBottomCp2 = points.sideFootBottom.shift(180, measurements.heel * 0.1) + points.sideToeGapCp1 = points.sideToeGap.shift(0, measurements.heel * 0.05) + points.sideToeGapCp2 = points.sideToeGap.shift(180, measurements.heel * 0.03) + + points.sideToeBottomCp1 = points.sideToeBottom.shift(0, measurements.heel * 0.03) + points.sideToeBottomCp2 = points.sideToeBottom.shift(180, measurements.heel * 0.05) + + points.sideToeTopCp1 = points.sideToeTop.shift(195, measurements.heel * 0.03) + points.sideToeTopCp2 = points.sideToeTop.shift(15, measurements.heel * 0.03) + + points.sideAnkleFront = points.sideAnkle.shift(180, measurements.ankle * 0.11) + points.sideAnkleBack = points.sideAnkle.shift(0, measurements.ankle * 0.26) + + points.sideHeelFrontCp1 = points.sideHeelFront.shift(220, measurements.ankle * 0.36) + points.sideHeelFrontCp2 = points.sideHeelFront.shift(40, measurements.ankle * 0.05) + + points.sideAnkleFrontCp1 = points.sideAnkleFront.shift(250, measurements.ankle * 0.05) + points.sideAnkleFrontCp2 = points.sideAnkleFront.shift(70, measurements.ankle * 0.2) + + points.sideAnkleBackCp1 = points.sideAnkleBack.shift(85, measurements.ankle * 0.2) + points.sideAnkleBackCp2 = points.sideAnkleBack.shift(-95, measurements.ankle * 0.1) + + points.sideHeelBackCp1 = points.sideHeelBack.shift(45, measurements.ankle * 0.1) + points.sideHeelBackCp2 = points.sideHeelBack.shift(225, measurements.ankle * 0.05) + + points.sideCalf = points.sideKnee + .shiftFractionTowards(points.sideAnkle, 0.2) + .shift(0, points.sideKnee.dy(points.sideAnkle) * 0.06) + points.sideCalfFront = points.sideCalf.shift(180, measurements.knee * 0.17) + points.sideCalfBack = points.sideCalf.shift(0, measurements.knee * 0.16) + + points.sideKneeFront = points.sideKnee.shift(180, measurements.knee * 0.18) + points.sideKneeBack = points.sideKnee.shift(0, measurements.knee * 0.16) + + points.sideSeatFront = points.sideSeat.shift( + 180, + (measurements.seat - measurements.seatBack) * 0.2 + ) + points.sideSeatBack = points.sideSeat.shift( + 0, + measurements.seatBack * 0.07 + measurements.seat * 0.1 + ) + + points.sideLegFront = points.sideSeat.shift( + 180, + (measurements.seat - measurements.seatBack) * 0.18 + ) + points.sideLegFork = points.sideSeat.shift( + 195, + (measurements.seat - measurements.seatBack) * 0.19 + ) + + points.sideUpperLegFront = utils.beamIntersectsY( + points.sideLegFront, + points.sideLegFork, + points.sideCrotch.y + ) + points.sideUpperLegBack = points.sideUpperLegFront.shift(0, measurements.upperLeg * 0.32) + + points.sideSeatBackCp1 = points.sideSeatBack.shift(90, points.sideSeat.dy(points.sideHips) * -0.4) + points.sideSeatBackCp2 = points.sideSeatBack.shift( + -90, + points.sideSeat.dy(points.sideCrotch) * 0.4 + ) + points.sideUpperLegCp1 = points.sideUpperLegBack.shift(60, measurements.upperLeg * 0.07) + points.sideUpperLegCp2 = points.sideUpperLegBack.shift(60, measurements.upperLeg * -0.07) + + const hipsBack = measurements.waistBack * 0.11 + measurements.seatBack * 0.1 + points.sideHipsBack = points.sideHips.shift(0, hipsBack) + points.sideHipsFront = points.sideHips.shift(180, measurements.hips * 0.25 - hipsBack) + + points.sideWaistFront = points.sideWaist.shift( + 180, + (measurements.waist - measurements.waistBack) * 0.3 + ) + points.sideWaistBack = points.sideWaist.shift(0, measurements.waistBack * 0.2) + + points.sideUnderbustFront = points.sideUnderbust.shift(180, measurements.underbust * 0.13) + points.sideUnderbustBack = points.sideUnderbust.shift(0, measurements.underbust * 0.11) + + points.sideNeckFront = points.sideNeck.shift(235, measurements.neck * 0.14) + points.sideNeckBack = points.sideNeck.shift(-15, measurements.neck * 0.17) + + points.sideUpperNeckFront = points.sideNeck.shift(168, measurements.head * 0.1) + points.sideChin = points.sideNeck.shift(168, measurements.head * 0.19) + points.sideUpperChin = points.sideNeck.shift(158, measurements.head * 0.215) + points.sideLowerLip = points.sideNeck.shift(156, measurements.head * 0.23) + points.sideMouth = points.sideNeck.shift(150, measurements.head * 0.22) + points.sideUpperLip = points.sideNeck.shift(151, measurements.head * 0.25) + points.sideBelowNose = points.sideNeck.shift(145, measurements.head * 0.26) + points.sideNose = points.sideNeck.shift(143, measurements.head * 0.29) + points.sideEyeFront = points.sideNeck.shift(130, measurements.head * 0.305) + points.sideHeadFront = points.sideNeck.shift(126, measurements.head * 0.345) + points.sideHeadBack = points.sideNeck.shift(58, measurements.head * 0.29) + points.sideUpperNeckBack = points.sideNeck.shift(53, measurements.head * 0.16) + + points.sideOuterNose = points.sideNeck.shift(143, measurements.head * 0.27) + points.sideInnerNose = points.sideNeck.shift(142, measurements.head * 0.258) + + points.sideMouthCp1 = points.sideNeck.shift(152, measurements.head * 0.24) + + points.sideNoseCp1 = points.sideNeck.shift(146, measurements.head * 0.285) + points.sideNoseCp2 = points.sideNoseCp1.shiftFractionTowards(points.sideNose, 2) + + points.sideEyeFrontCp1 = points.sideEyeFront.shift(-90, measurements.head * 0.01) + points.sideEyeFrontCp2 = points.sideEyeFront.shift(90, measurements.head * 0.01) + + points.sideEyeBottom = points.sideNeck.shift(130, measurements.head * 0.283) + points.sideEyeDown = points.sideNeck.shift(129, measurements.head * 0.29) + points.sideEyeDart = points.sideNeck.shift(126, measurements.head * 0.29) + points.sideEyeUp = points.sideNeck.shift(127, measurements.head * 0.305) + points.sideEyeTop = points.sideNeck.shift(126.3, measurements.head * 0.313) + points.sideEyeCenter = points.sideNeck.shift(127.5, measurements.head * 0.295) + + points.sideEarTop = points.sideNeck.shift(96, measurements.head * 0.24) + points.sideEarBack = points.sideNeck.shift(86, measurements.head * 0.2) + points.sideEarBottom = points.sideNeck.shift(96, measurements.head * 0.155) + points.sideEarTip = points.sideNeck.shift(102, measurements.head * 0.153) + points.sideOuterEar = points.sideNeck.shift(100, measurements.head * 0.18) + points.sideInnerEar = points.sideNeck.shift(92, measurements.head * 0.185) + + points.sideEarTopCp2 = points.sideEarTop.shift(30, measurements.head * 0.03) + points.sideEarBackCp1 = points.sideEarBack.shift(90, measurements.head * 0.025) + points.sideEarBackCp2 = points.sideEarBack.shift(-90, measurements.head * 0.02) + points.sideEarBottomCp1 = points.sideEarBottom.shift(50, measurements.head * 0.02) + points.sideEarBottomCp2 = points.sideEarBottom.shift(230, measurements.head * 0.005) + + paths.sideEye = new Path() + .move(points.sideEyeTop) + .line(points.sideEyeUp) + .line(points.sideEyeDart) + .line(points.sideEyeDown) + .line(points.sideEyeBottom) + .move(points.sideEyeUp) + .line(points.sideEyeCenter) + .attr('class', 'stroke-xl') + + paths.sideNose = new Path() + .move(points.sideInnerNose) + .line(points.sideOuterNose) + .attr('class', 'stroke-xl') + + paths.sideEar = new Path() + .move(points.sideEarTop) + .curve(points.sideEarTopCp2, points.sideEarBackCp1, points.sideEarBack) + .curve(points.sideEarBackCp2, points.sideEarBottomCp1, points.sideEarBottom) + .curve_(points.sideEarBottomCp2, points.sideEarTip) + .move(points.sideOuterEar) + .line(points.sideInnerEar) + .attr('class', 'stroke-xl') + + points.sideShoulderFront = points.sideNeck + .shiftFractionTowards(points.sideBust, 0.75) + .shift(150, measurements.highBustFront * 0.18) + + points.sideShoulderBack = points.sideNeck + .shiftFractionTowards(points.sideArmpit, 0.5) + .shift(0, (measurements.highBust - measurements.highBustFront) * 0.266) + points.sideShoulderBackLow = points.sideArmpit.shift( + 0, + (measurements.chest - measurements.bustFront) * 0.14 + + (measurements.highBust - measurements.highBustFront) * 0.13 + ) + + points.sideBustBack = utils.beamIntersectsY( + points.sideShoulderBackLow, + points.sideUnderbustBack, + points.sideBust.y + ) + points.sideBustFront = points.sideBustBack.shift(180, measurements.chest * 0.24) + points.sideBustFrontExtension = points.sideUnderbustFront + .shiftFractionTowards(points.sideBust, 0.35) + .shiftFractionTowards(points.sideBustFront, 0.18) + + points.sideBustFrontCp1 = points.sideBustFront.shift(-90, measurements.bustPointToUnderbust * 0.4) + points.sideBustFrontCp2 = points.sideBustFront.shift(90, measurements.bustFront * 0.03) + + points.sideUnderbustFrontCp1 = points.sideUnderbustFront.shift(-15, measurements.underbust * 0.02) + points.sideUnderbustFrontCp2 = points.sideUnderbustFront.shift( + -45, + measurements.underbust * -0.005 + ) + + points.sideBustFrontExtensionCp2 = points.sideBustFrontExtension.shift( + -100, + measurements.underbust * 0.02 + ) + + points.sideBustPointLeft = points.sideBustFront.shiftFractionTowards(points.sideBust, 0.01) + points.sideBustPointRight = points.sideBustFront.shiftFractionTowards(points.sideBust, 0.08) + points.sideBustPointCenter = points.sideBustPointLeft.shiftFractionTowards( + points.sideBustPointRight, + 0.5 + ) + points.sideBustPointUp = points.sideBustPointCenter.shift(90, measurements.bustFront * 0.01) + points.sideBustPointDown = points.sideBustPointCenter.shift(-90, measurements.bustFront * 0.02) + points.sideBustPointUpLeft = new Point(points.sideBustPointLeft.x, points.sideBustPointUp.y) + points.sideBustPointDownLeft = new Point(points.sideBustPointLeft.x, points.sideBustPointDown.y) + points.sideBustPointUpRight = new Point(points.sideBustPointRight.x, points.sideBustPointUp.y) + points.sideBustPointDownRight = new Point(points.sideBustPointRight.x, points.sideBustPointDown.y) + + points.sideShoulderFrontCp1 = points.sideShoulderFront.shift( + points.sideBustFront.angle(points.sideNeckFront), + measurements.highBustFront * -0.04 + ) + points.sideShoulderFrontCp2 = points.sideShoulderFront.shift( + points.sideBustFront.angle(points.sideNeckFront), + measurements.highBustFront * 0.14 + ) + + points.sideArmTopFront = points.sideArmStart.shift(135, measurements.biceps * 0.18) + points.sideUpperArmFront = points.sideArmStart.shift(220, measurements.biceps * 0.09) + points.sideElbowFront = points.sideElbow.shift(180, measurements.biceps * 0.05) + points.sideWristFront = points.sideWrist.shift(180, measurements.wrist * 0.07) + points.sideWristBack = points.sideWrist.shift(0, measurements.wrist * 0.24) + points.sideElbowBack = points.sideElbow.shift(0, measurements.biceps * 0.22) + points.sideUpperArmBack = points.sideArmStart.shift(-40, measurements.biceps * 0.34) + points.sideArmTopBack = points.sideArmStart.shift(27, measurements.biceps * 0.31) + + points.sideArmTopFrontCp2 = points.sideArmTopFront.shift(-60, measurements.biceps * 0.08) + points.sideUpperArmFrontCp1 = points.sideUpperArmFront.shift(87, measurements.biceps * 0.03) + points.sideUpperArmFrontCp2 = points.sideUpperArmFront.shift(-93, measurements.biceps * 0.2) + points.sideElbowFrontCp1 = points.sideElbowFront.shift(97, measurements.biceps * 0.2) + points.sideElbowFrontCp2 = points.sideElbowFront.shift(-83, measurements.biceps * 0.1) + points.sideWristFrontCp1 = points.sideWristFront.shift(87, measurements.wrist * 0.2) + points.sideWristFrontCp2 = points.sideWristFront.shift(-93, measurements.wrist * 0.05) + points.sideWristBackCp1 = points.sideWristBack.shift(-95, measurements.wrist * 0.05) + points.sideWristBackCp2 = points.sideWristBack.shift(85, measurements.wrist * 0.2) + points.sideElbowBackCp1 = points.sideElbowBack.shift(-85, measurements.biceps * 0.1) + points.sideElbowBackCp2 = points.sideElbowBack.shift(95, measurements.biceps * 0.1) + points.sideUpperArmBackCp1 = points.sideUpperArmBack.shift(-90, measurements.biceps * 0.15) + points.sideUpperArmBackCp2 = points.sideUpperArmBack.shift(90, measurements.biceps * 0.15) + points.sideArmTopBackCp1 = points.sideArmTopBack.shift(-95, measurements.biceps * 0.15) + + points.sideHeadFrontCp2 = points.sideHeadFront.shift(90, measurements.head * 0.06) + points.sideHeadCp1 = points.sideHead.shift(175, measurements.head * 0.14) + points.sideHeadCp2 = points.sideHead.shift(-5, measurements.head * 0.12) + + points.sideHeadBackCp1 = points.sideHeadBack.shift(80, measurements.head * 0.1) + points.sideHeadBackCp2 = points.sideHeadBack.shift(-100, measurements.head * 0.07) + + points.sideUpperNeckBackCp1 = points.sideUpperNeckBack.shift(80, measurements.head * 0.03) + points.sideUpperNeckBackCp2 = points.sideUpperNeckBack.shift(-100, measurements.head * 0.05) + + points.sideNeckBackCp1 = points.sideNeckBack.shift(120, measurements.head * 0.05) + points.sideNeckBackCp2 = points.sideNeckBack.shift(-60, measurements.head * 0.05) + + points.sideShoulderBackCp1 = points.sideShoulderBack.shift(100, measurements.highBust * 0.04) + points.sideShoulderBackCp2 = points.sideShoulderBack.shift(-80, measurements.highBust * 0.04) + + points.sideShoulderBackLowCp1 = points.sideShoulderBackLow.shift(80, measurements.highBust * 0.02) + points.sideShoulderBackLowCp2 = points.sideShoulderBackLow.shift( + -100, + measurements.highBust * 0.01 + ) + + points.sideChinCp1 = points.sideChin.shift(-40, measurements.head * 0.02) + points.sideChinCp2 = points.sideChin.shift(140, measurements.head * 0.02) + + points.sideUpperChinCp1 = points.sideUpperChin.shift(-60, measurements.head * 0.01) + points.sideUpperChinCp2 = points.sideUpperChin.shift(120, measurements.head * 0.01) + + points.sideUpperNeckFrontCp1 = points.sideUpperNeckFront.shift(-40, measurements.head * 0.02) + points.sideUpperNeckFrontCp2 = points.sideUpperNeckFront.shift(140, measurements.head * 0.02) + + points.sideShoulderCp1 = points.sideNeckFront.shift(-80, measurements.head * 0.03) + points.sideShoulderCp2 = points.sideNeckFront.shift(100, measurements.head * 0.03) + + points.sideUpperLegFrontCp1 = points.sideLegFork.shiftFractionTowards( + points.sideUpperLegFront, + 2.4 + ) + + points.sideKneeFrontCp1 = points.sideKneeFront.shift(-80, measurements.knee * 0.1) + points.sideKneeFrontCp2 = points.sideKneeFront.shift(100, measurements.knee * 0.5) + + points.sideCalfFrontCp1 = points.sideCalfFront.shift(-85, measurements.knee * 0.1) + points.sideCalfFrontCp2 = points.sideCalfFront.shift(95, measurements.knee * 0.1) + + points.sideKneeBackCp1 = points.sideKneeBack.shift(95, measurements.knee * 0.1) + points.sideKneeBackCp2 = points.sideKneeBack.shift(-85, measurements.knee * 0.05) + + points.sideCalfBackCp1 = points.sideCalfBack.shift(105, measurements.knee * 0.1) + points.sideCalfBackCp2 = points.sideCalfBack.shift(-75, measurements.knee * 0.2) + + points.sideSeatFrontCp1 = points.sideSeatFront.shift( + points.sideLegFront.angle(points.sideHipsFront), + measurements.seat * -0.01 + ) + points.sideSeatFrontCp2 = points.sideSeatFront.shift( + points.sideLegFront.angle(points.sideHipsFront), + measurements.seat * 0.05 + ) + + points.sideHipsFrontCp1 = points.sideHipsFront.shift( + points.sideSeatFront.angle(points.sideWaistFront), + measurements.hips * -0.06 + ) + points.sideHipsFrontCp2 = points.sideHipsFront.shift( + points.sideSeatFront.angle(points.sideWaistFront), + measurements.hips * 0.06 + ) + + points.sideWaistFrontCp1 = points.sideWaistFront.shift( + points.sideHipsFront.angle(points.sideUnderbustFront) + 5, + measurements.waist * -0.05 + ) + points.sideWaistFrontCp2 = points.sideWaistFront.shift( + points.sideHipsFront.angle(points.sideUnderbustFront) + 5, + measurements.waist * 0.05 + ) + + points.sideUnderbustBackCp1 = points.sideUnderbustBack.shift( + points.sideShoulderBackLow.angle(points.sideWaistBack), + measurements.underbust * -0.03 + ) + points.sideUnderbustBackCp2 = points.sideUnderbustBack.shift( + points.sideShoulderBackLow.angle(points.sideWaistBack), + measurements.underbust * 0.03 + ) + + points.sideWaistBackCp1 = points.sideWaistBack.shift( + points.sideUnderbustBack.angle(points.sideHipsBack), + measurements.waist * -0.03 + ) + points.sideWaistBackCp2 = points.sideWaistBack.shift( + points.sideUnderbustBack.angle(points.sideHipsBack), + measurements.waist * 0.03 + ) + + points.sideHipsBackCp1 = points.sideHipsBack.shift( + points.sideWaistBack.angle(points.sideSeatBack), + measurements.hips * -0.05 + ) + points.sideHipsBackCp2 = points.sideHipsBack.shift( + points.sideWaistBack.angle(points.sideSeatBack), + measurements.hips * 0.05 + ) + + points.sideLegForkCp1 = points.sideLegFork.shift( + points.sideCrotch.angle(points.sideSeat) + 20, + measurements.crossSeam * 0.01 + ) + + points.sideHipsBackCp3 = points.sideHipsBack.shiftFractionTowards(points.sideHipsBackCp2, 0.8) + + points.sideHandA = points.sideWrist.shift(223, measurements.wrist * 0.4) + points.sideHandB = points.sideWrist.shift(226, measurements.wrist * 0.5) + points.sideHandC = points.sideWrist.shift(228, measurements.wrist * 0.63) + points.sideHandD = points.sideWrist.shift(233, measurements.wrist * 0.8) + points.sideHandE = points.sideWrist.shift(243, measurements.wrist * 0.52) + points.sideHandF = points.sideWrist.shift(253, measurements.wrist * 0.7) + points.sideHandG = points.sideWrist.shift(259, measurements.wrist * 1.17) + points.sideHandH = points.sideWrist.shift(263, measurements.wrist * 0.73) + points.sideHandI = points.sideWrist.shift(268, measurements.wrist * 1.23) + points.sideHandJ = points.sideWrist.shift(272.5, measurements.wrist * 0.73) + points.sideHandK = points.sideWrist.shift(275, measurements.wrist * 1.18) + points.sideHandL = points.sideWrist.shift(282, measurements.wrist * 0.7) + points.sideHandM = points.sideWrist.shift(283, measurements.wrist * 1.01) + points.sideHandN = points.sideWrist.shift(291, measurements.wrist * 0.7) + points.sideHandO = points.sideWrist.shift(314, measurements.wrist * 0.4) + + points.sideHandACp1 = points.sideHandA.shift(50, measurements.wrist * 0.05) + points.sideHandACp2 = points.sideHandA.shift(50, measurements.wrist * -0.05) + points.sideHandBCp1 = points.sideHandB.shift(50, measurements.wrist * 0.05) + points.sideHandBCp2 = points.sideHandB.shift(50, measurements.wrist * -0.05) + points.sideHandCCp1 = points.sideHandC.shift(50, measurements.wrist * 0.05) + points.sideHandCCp2 = points.sideHandC.shift(50, measurements.wrist * -0.05) + points.sideHandDCp1 = points.sideHandD.shift(65, measurements.wrist * 0.05) + points.sideHandDCp2 = points.sideHandD.shift(-15, measurements.wrist * 0.1) + points.sideHandECp1 = points.sideHandE.shift(150, measurements.wrist * 0.05) + points.sideHandECp2 = points.sideHandE.shift(150, measurements.wrist * -0.05) + points.sideHandFCp1 = points.sideHandF.shift(79, measurements.wrist * 0.05) + points.sideHandFCp2 = points.sideHandF.shift(79, measurements.wrist * -0.45) + points.sideHandGCp1 = points.sideHandG.shift(-10, measurements.wrist * -0.05) + points.sideHandGCp2 = points.sideHandG.shift(-10, measurements.wrist * 0.05) + points.sideHandHCp1 = points.sideHandH.shift(-103, measurements.wrist * 0.35) + points.sideHandHCp2 = points.sideHandH.shift(-92, measurements.wrist * 0.48) + points.sideHandICp1 = points.sideHandI.shift(-5, measurements.wrist * -0.05) + points.sideHandICp2 = points.sideHandI.shift(-5, measurements.wrist * 0.05) + points.sideHandJCp1 = points.sideHandJ.shift(-95, measurements.wrist * 0.45) + points.sideHandJCp2 = points.sideHandJ.shift(-87, measurements.wrist * 0.4) + points.sideHandKCp1 = points.sideHandK.shift(0, measurements.wrist * -0.05) + points.sideHandKCp2 = points.sideHandK.shift(0, measurements.wrist * 0.05) + points.sideHandLCp1 = points.sideHandL.shift(-90, measurements.wrist * 0.43) + points.sideHandLCp2 = points.sideHandL.shift(-80, measurements.wrist * 0.25) + points.sideHandMCp1 = points.sideHandM.shift(5, measurements.wrist * -0.05) + points.sideHandMCp2 = points.sideHandM.shift(5, measurements.wrist * 0.05) + points.sideHandNCp1 = points.sideHandN.shift(-85, measurements.wrist * 0.29) + points.sideHandNCp2 = points.sideHandN.shift(-85, measurements.wrist * -0.1) + points.sideHandOCp1 = points.sideHandO.shift(-90, measurements.wrist * 0.1) + points.sideHandOCp2 = points.sideHandO.shift(-90, measurements.wrist * -0.1) + + paths.sideOutline = new Path() + .move(points.sideHeelBottom) + .line(points.sideFootBottom) + .curve(points.sideFootBottomCp2, points.sideToeGapCp1, points.sideToeGap) + .curve(points.sideToeGapCp2, points.sideToeBottomCp1, points.sideToeBottom) + .curve(points.sideToeBottomCp2, points.sideToeTopCp1, points.sideToeTop) + .curve(points.sideToeTopCp2, points.sideHeelFrontCp1, points.sideHeelFront) + .curve(points.sideHeelFrontCp2, points.sideAnkleFrontCp1, points.sideAnkleFront) + .curve(points.sideAnkleFrontCp2, points.sideCalfFrontCp1, points.sideCalfFront) + .curve(points.sideCalfFrontCp2, points.sideKneeFrontCp1, points.sideKneeFront) + .curve(points.sideKneeFrontCp2, points.sideUpperLegFrontCp1, points.sideUpperLegFront) + .line(points.sideLegFork) + .line(points.sideLegFront) + .move(points.sideLegFork) + .curve(points.sideLegForkCp1, points.sideSeatFrontCp1, points.sideSeatFront) + .curve(points.sideSeatFrontCp2, points.sideHipsFrontCp1, points.sideHipsFront) + .curve(points.sideHipsFrontCp2, points.sideWaistFrontCp1, points.sideWaistFront) + .curve_(points.sideWaistFrontCp2, points.sideUnderbustFront) + + if ( + points.sideBustFront.dx(points.sideUnderbustFront) > + points.sideUnderbustFront.dx(points.sideBustFrontExtension) * 0.5 + ) { + store.showBust = 1 + paths.sideOutline + .move(points.sideBustFrontExtension) + .curve( + points.sideBustFrontExtensionCp2, + points.sideUnderbustFrontCp1, + points.sideUnderbustFront + ) + } + + paths.sideOutline + .curve(points.sideUnderbustFrontCp2, points.sideBustFrontCp1, points.sideBustFront) + .curve(points.sideBustFrontCp2, points.sideShoulderFrontCp1, points.sideShoulderFront) + .curve(points.sideShoulderFrontCp2, points.sideShoulderCp1, points.sideNeckFront) + .curve(points.sideShoulderCp2, points.sideUpperNeckFrontCp1, points.sideUpperNeckFront) + .curve(points.sideUpperNeckFrontCp2, points.sideChinCp1, points.sideChin) + .curve(points.sideChinCp2, points.sideUpperChinCp1, points.sideUpperChin) + .curve_(points.sideUpperChinCp2, points.sideLowerLip) + ._curve(points.sideMouthCp1, points.sideMouth) + ._curve(points.sideMouthCp1, points.sideUpperLip) + .line(points.sideBelowNose) + ._curve(points.sideNoseCp1, points.sideNose) + .curve(points.sideNoseCp2, points.sideEyeFrontCp1, points.sideEyeFront) + .curve_(points.sideEyeFrontCp2, points.sideHeadFront) + .curve(points.sideHeadFrontCp2, points.sideHeadCp1, points.sideHead) + .curve(points.sideHeadCp2, points.sideHeadBackCp1, points.sideHeadBack) + .curve(points.sideHeadBackCp2, points.sideUpperNeckBackCp1, points.sideUpperNeckBack) + .curve(points.sideUpperNeckBackCp2, points.sideNeckBackCp1, points.sideNeckBack) + .curve(points.sideNeckBackCp2, points.sideShoulderBackCp1, points.sideShoulderBack) + .curve(points.sideShoulderBackCp2, points.sideShoulderBackLowCp1, points.sideShoulderBackLow) + .curve(points.sideShoulderBackLowCp2, points.sideUnderbustBackCp1, points.sideUnderbustBack) + .curve(points.sideUnderbustBackCp2, points.sideWaistBackCp1, points.sideWaistBack) + .curve(points.sideWaistBackCp2, points.sideHipsBackCp1, points.sideHipsBack) + .curve(points.sideHipsBackCp2, points.sideSeatBackCp1, points.sideSeatBack) + .curve(points.sideSeatBackCp2, points.sideUpperLegCp1, points.sideUpperLegBack) + .curve(points.sideUpperLegCp2, points.sideKneeBackCp1, points.sideKneeBack) + .curve(points.sideKneeBackCp2, points.sideCalfBackCp1, points.sideCalfBack) + .curve(points.sideCalfBackCp2, points.sideAnkleBackCp1, points.sideAnkleBack) + .curve(points.sideAnkleBackCp2, points.sideHeelBackCp1, points.sideHeelBack) + .curve_(points.sideHeelBackCp2, points.sideHeelBottom) + .attr('class', 'stroke-xl') + + paths.sideArm = new Path() + .move(points.sideArmTopFront) + .curve(points.sideArmTopFrontCp2, points.sideUpperArmFrontCp1, points.sideUpperArmFront) + .curve(points.sideUpperArmFrontCp2, points.sideElbowFrontCp1, points.sideElbowFront) + .curve(points.sideElbowFrontCp2, points.sideWristFrontCp1, points.sideWristFront) + .curve(points.sideWristFrontCp2, points.sideHandACp1, points.sideHandA) + .curve(points.sideHandACp2, points.sideHandBCp1, points.sideHandB) + .curve(points.sideHandBCp2, points.sideHandCCp1, points.sideHandC) + .curve(points.sideHandCCp2, points.sideHandDCp1, points.sideHandD) + .curve(points.sideHandDCp2, points.sideHandECp1, points.sideHandE) + .curve(points.sideHandECp2, points.sideHandFCp1, points.sideHandF) + .curve(points.sideHandFCp2, points.sideHandGCp1, points.sideHandG) + .curve(points.sideHandGCp2, points.sideHandHCp1, points.sideHandH) + .curve(points.sideHandHCp2, points.sideHandICp1, points.sideHandI) + .curve(points.sideHandICp2, points.sideHandJCp1, points.sideHandJ) + .curve(points.sideHandJCp2, points.sideHandKCp1, points.sideHandK) + .curve(points.sideHandKCp2, points.sideHandLCp1, points.sideHandL) + .curve(points.sideHandLCp2, points.sideHandMCp1, points.sideHandM) + .curve(points.sideHandMCp2, points.sideHandNCp1, points.sideHandN) + .curve(points.sideHandNCp2, points.sideHandOCp1, points.sideHandO) + .curve(points.sideHandOCp2, points.sideWristBackCp1, points.sideWristBack) + .curve(points.sideWristBackCp2, points.sideElbowBackCp1, points.sideElbowBack) + .curve(points.sideElbowBackCp2, points.sideUpperArmBackCp1, points.sideUpperArmBack) + .curve(points.sideUpperArmBackCp2, points.sideArmTopBackCp1, points.sideArmTopBack) + .attr('class', 'stroke-xl') + + paths.sideBustPoint = new Path() + .move(points.sideBustPointUp) + .curve(points.sideBustPointUpLeft, points.sideBustPointDownLeft, points.sideBustPointDown) + .curve(points.sideBustPointDownRight, points.sideBustPointUpRight, points.sideBustPointUp) + .close() + .attr('class', 'stroke-xl') + + let crossSeamMaxFactor = 0.9 + let crossSeamMinFactor = 0.7 + for (let i = 0; i < 10; i++) { + let crossSeamFactor = (crossSeamMinFactor + crossSeamMaxFactor) / 2 + points.sideLegForkCp2 = points.sideLegFork.shift( + points.sideCrotch.angle(points.sideSeat) + 20, + measurements.crossSeam * -0.06 * crossSeamFactor + ) + points.sideCrotchMain = points.sideFloor.shift(90, measurements.inseam) + points.sideCrotchMainCp1 = points.sideCrotchMain.shift(170, measurements.crossSeam * 0.04) + points.sideCrotchMainCp2 = points.sideCrotchMain.shift( + -10, + measurements.crossSeam * 0.1 * crossSeamFactor + ) + points.sideBackCrotch = points.sideSeat.shiftFractionTowards( + points.sideSeatBack, + crossSeamFactor + ) + points.sideBackCrotchCp1 = points.sideBackCrotch.shift( + -100, + points.sideSeat.dy(points.sideCrotch) * 0.5 * crossSeamFactor + ) + points.sideBackCrotchCp2 = points.sideBackCrotch.shift( + 80, + points.sideSeat.dy(points.sideCrotch) * 0.5 * crossSeamFactor + ) + + paths.sideFullCrossSeam = new Path() + .move(points.sideWaistFront) + .curve(points.sideWaistFrontCp1, points.sideHipsFrontCp2, points.sideHipsFront) + .curve(points.sideHipsFrontCp1, points.sideSeatFrontCp2, points.sideSeatFront) + .curve(points.sideSeatFrontCp1, points.sideLegForkCp1, points.sideLegFork) + .curve(points.sideLegForkCp2, points.sideCrotchMainCp1, points.sideCrotchMain) + .curve(points.sideCrotchMainCp2, points.sideBackCrotchCp1, points.sideBackCrotch) + .curve(points.sideBackCrotchCp2, points.sideHipsBackCp3, points.sideHipsBack) + .curve(points.sideHipsBackCp1, points.sideWaistBackCp2, points.sideWaistBack) + .hide() + + const length = paths.sideFullCrossSeam.length() + store.log.debug( + 'crossseam length actual: ' + + length + + ' expected: ' + + measurements.crossSeam + + ' factor: ' + + crossSeamFactor + ) + + if (length > measurements.crossSeam) { + crossSeamMaxFactor = crossSeamFactor + } else { + crossSeamMinFactor = crossSeamFactor + } + } + + points.sideCrossSeamFrontSplit = paths.sideFullCrossSeam.shiftAlong(measurements.crossSeamFront) + + let tmp = safeSplit(paths.sideFullCrossSeam, points.sideLegFork)[1] + tmp = safeSplit(tmp, points.sideHipsBack)[0] + const split = safeSplit(tmp, points.sideCrossSeamFrontSplit) + paths.sideCrossSeamFront = split[0].attr('class', 'stroke-xl stroke-mark').hide() + paths.sideCrossSeamBack = split[1].attr('class', 'stroke-xl stroke-various').hide() + + if (complete) { + paths.sideCrossSeamFront.unhide() + paths.sideCrossSeamBack.unhide() + } + + return part.hide() +} + +export const side = { + name: 'side', + options: {}, + measurements: [ + 'ankle', + 'biceps', + 'bustFront', + 'bustPointToUnderbust', + 'bustSpan', + 'chest', + 'crossSeam', + 'crossSeamFront', + 'crotchDepth', + 'heel', + 'head', + 'highBust', + 'highBustFront', + 'hips', + 'hpsToBust', + 'hpsToWaistBack', + 'hpsToWaistFront', + 'inseam', + 'knee', + 'neck', + 'seat', + 'seatBack', + 'shoulderSlope', + 'shoulderToElbow', + 'shoulderToShoulder', + 'shoulderToWrist', + 'underbust', + 'upperLeg', + 'waist', + 'waistBack', + 'waistToArmpit', + 'waistToFloor', + 'waistToHips', + 'waistToKnee', + 'waistToSeat', + 'waistToUnderbust', + 'waistToUpperLeg', + 'wrist', + ], + draft: draftSide, +} diff --git a/designs/bonny/tests/shared.test.mjs b/designs/bonny/tests/shared.test.mjs new file mode 100644 index 00000000000..0dd87b0b122 --- /dev/null +++ b/designs/bonny/tests/shared.test.mjs @@ -0,0 +1,20 @@ +// This file is auto-generated | Any changes you make will be overwritten. +import { Bonny, about, i18n } from '../src/index.mjs' + +// Shared tests +import { testPatternConfig } from '../../../tests/designs/config.mjs' +import { testPatternI18n } from '../../../tests/designs/i18n.mjs' +import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' +import { testPatternSampling } from '../../../tests/designs/sampling.mjs' + +// Test config +testPatternConfig(Bonny, about) + +// Test translation +testPatternI18n(Bonny, i18n) + +// Test drafting - Change the second parameter to `true` to log errors +testPatternDrafting(Bonny, false) + +// Test sampling - Change the second parameter to `true` to log errors +testPatternSampling(Bonny, false) diff --git a/designs/breanna/README.md b/designs/breanna/README.md index cdc8709fcd4..05c0c165e04 100644 --- a/designs/breanna/README.md +++ b/designs/breanna/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:breanna - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/breanna @@ -59,7 +44,7 @@ A FreeSewing pattern for a basic body block for womenswear > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/breanna/data.mjs b/designs/breanna/data.mjs deleted file mode 100644 index b5488c72e50..00000000000 --- a/designs/breanna/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/breanna' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/breanna/i18n/de.json b/designs/breanna/i18n/de.json deleted file mode 100644 index 7d690968804..00000000000 --- a/designs/breanna/i18n/de.json +++ /dev/null @@ -1,191 +0,0 @@ -{ - "t": "Breanna body block", - "d": "Breanna is a basic body block for people with breasts.", - "p": { - "back": "Back", - "base": "Base", - "frontBase": "Front base", - "front": "Front", - "sleevecap": "Sleevecap", - "sleeve": "Sleeve" - }, - "s": {}, - "o": { - "acrossBackFactor": { - "t": "Across back factor", - "d": "Controls your across back width as a factor of your shoulder to shoulder measurement." - }, - "armholeDepthFactor": { - "t": "Armhole depth factor", - "d": "Controls the depth of the armhole. Higher values make a deeper armhole." - }, - "backNeckCutout": { - "t": "Back neck cutout", - "d": "How deep the neck is cut out at the back" - }, - "bicepsEase": { - "t": "Biceps ease", - "d": "The amount of ease at your upper arm. Note that while we try to respect this, fitting the sleeve to the armhole takes precedence over respecting the exact amount of ease." - }, - "collarEase": { - "t": "Collar ease", - "d": "The amount of ease around your neck" - }, - "chestEase": { - "t": "Chest ease", - "d": "The amount of ease at your chest." - }, - "cuffEase": { - "t": "Cuff ease", - "d": "The amount of ease at your wrist." - }, - "frontArmholeDeeper": { - "t": "Front armhole extra cutout", - "d": "How much do you want the front armhole to be cut out deeper than the back." - }, - "frontScyeDart": { - "t": "Front scye dart", - "d": "Controls the dart at the front of the arm opening. This can help control gaping at the armhole." - }, - "shoulderDart": { - "t": "Shoulder dart", - "d": "Whether or not to inlude a dart at the shoulder to round the back" - }, - "shoulderDartSize": { - "t": "Shoulder dart size", - "d": "The size of the shoulder dart" - }, - "shoulderDartLength": { - "t": "Shoulder dart length", - "d": "The length of the shoulder dart" - }, - "shoulderEase": { - "t": "Shoulder ease", - "d": "The amount of ease at your shoulder. This increases the shoulder to shoulder distance to accommodate additional layers or thickness." - }, - "shoulderSlopeReduction": { - "t": "Shoulder slope reduction", - "d": "The amount by which the shoulder slope is reduced to allow for shoulder padding." - }, - "sleeveLengthBonus": { - "t": "Sleeve length bonus", - "d": "The amount to lengthen the sleeve. A negative value will shorten it." - }, - "sleevecapEase": { - "t": "Sleevecap ease", - "d": "The amount by which the sleevecap seam is longer than the armhole seam." - }, - "sleevecapTopFactorX": { - "t": "Sleevecap top X", - "d": "Controls the horizontal location of the sleevecap top." - }, - "sleevecapTopFactorY": { - "t": "Sleevecap top Y", - "d": "Controls the height of the sleevecap. A higher value results in a higher and more narrow sleevecap." - }, - "sleevecapBackFactorX": { - "t": "Sleevecap back X", - "d": "Controls the placement of the sleevecap back pitchpoint on the X-axis (horizontal)" - }, - "sleevecapBackFactorY": { - "t": "Sleevecap back Y", - "d": "Controls the placement of the sleevecap back pitchpoint on the Y-axis (vertical)" - }, - "sleevecapFrontFactorX": { - "t": "Sleevecap front X", - "d": "Controls the placement of the sleevecap front pitchpoint on the X-axis (horizontal)" - }, - "sleevecapFrontFactorY": { - "t": "Sleevecap front Y", - "d": "Controls the placement of the sleevecap front pitchpoint on the Y-axis (vertical)" - }, - "sleevecapQ1Offset": { - "t": "Sleevecap Q1 offset", - "d": "Controls the curvature of the sleevecap in the first quadrant (front armhole)" - }, - "sleevecapQ2Offset": { - "t": "Sleevecap Q2 offset", - "d": "Controls the curvature of the sleevecap in the second quadrant (front shoulder)" - }, - "sleevecapQ3Offset": { - "t": "Sleevecap Q3 offset", - "d": "Controls the curvature of the sleevecap in the third quadrant (back shoulder)" - }, - "sleevecapQ4Offset": { - "t": "Sleevecap Q4 offset", - "d": "Controls the curvature of the sleevecap in the fourth quadrant (back armhole)" - }, - "sleevecapQ1Spread1": { - "t": "Sleevecap Q1 downward spread", - "d": "Controls the spread of the sleevecap first quadrant curvature towards the armhole" - }, - "sleevecapQ1Spread2": { - "t": "Sleevecap Q1 upward spread", - "d": "Controls the spread of the sleevecap first quadrant curvature towards the shoulder" - }, - "sleevecapQ2Spread1": { - "t": "Sleevecap Q2 downward spread", - "d": "Controls the spread of the sleevecap second quadrant curvature towards the armhole" - }, - "sleevecapQ2Spread2": { - "t": "Sleevecap Q2 upward spread", - "d": "Controls the spread of the sleevecap second quadrant curvature towards the shoulder" - }, - "sleevecapQ3Spread1": { - "t": "Sleevecap Q3 upward spread", - "d": "Controls the spread of the sleevecap third quadrant curvature towards the shoulder" - }, - "sleevecapQ3Spread2": { - "t": "Sleevecap Q3 downward spread", - "d": "Controls the spread of the sleevecap third quadrant curvature towards the armhole" - }, - "sleevecapQ4Spread1": { - "t": "Sleevecap Q4 upward spread", - "d": "Controls the spread of the sleevecap fourth quadrant curvature towards the shoulder" - }, - "sleevecapQ4Spread2": { - "t": "Sleevecap Q4 downward spread", - "d": "Controls the spread of the sleevecap fourth quadrant curvature towards the armhole" - }, - "waistDart": { - "t": "Waist dart", - "d": "Whether or not to inlude a dart at the waist to round the back" - }, - "waistDartSize": { - "t": "Waist dart size", - "d": "The size of the waist dart" - }, - "waistDartLength": { - "t": "Waist dart length", - "d": "The length of the waist dart" - }, - "verticalEase": { - "t": "Vertical ease", - "d": "The amount of ease to distribute along the length of the garment" - }, - "waistEase": { - "t": "Waist ease", - "d": "The amount of ease at the waist" - }, - "primaryBustDart": { - "t": "Bust dart", - "d": "Where to place the bust dart to shape the chest" - }, - "primaryBustDartLength": { - "t": "Bust dart length", - "d": "The length of the bust dart" - }, - "secondaryBustDart": { - "t": "Secondary bust dart", - "d": "Optionally include a secondary bust dart to distribute the shaping of the chest" - }, - "secondaryBustDartLength": { - "t": "Secondary bust dart length", - "d": "The length of the secondary bust dart" - }, - "primaryBustDartShaping": { - "t": "Bust darts shaping", - "d": "Controls the balance between the main and secondary bust darts" - } - } -} diff --git a/designs/breanna/i18n/es.json b/designs/breanna/i18n/es.json deleted file mode 100644 index 7d690968804..00000000000 --- a/designs/breanna/i18n/es.json +++ /dev/null @@ -1,191 +0,0 @@ -{ - "t": "Breanna body block", - "d": "Breanna is a basic body block for people with breasts.", - "p": { - "back": "Back", - "base": "Base", - "frontBase": "Front base", - "front": "Front", - "sleevecap": "Sleevecap", - "sleeve": "Sleeve" - }, - "s": {}, - "o": { - "acrossBackFactor": { - "t": "Across back factor", - "d": "Controls your across back width as a factor of your shoulder to shoulder measurement." - }, - "armholeDepthFactor": { - "t": "Armhole depth factor", - "d": "Controls the depth of the armhole. Higher values make a deeper armhole." - }, - "backNeckCutout": { - "t": "Back neck cutout", - "d": "How deep the neck is cut out at the back" - }, - "bicepsEase": { - "t": "Biceps ease", - "d": "The amount of ease at your upper arm. Note that while we try to respect this, fitting the sleeve to the armhole takes precedence over respecting the exact amount of ease." - }, - "collarEase": { - "t": "Collar ease", - "d": "The amount of ease around your neck" - }, - "chestEase": { - "t": "Chest ease", - "d": "The amount of ease at your chest." - }, - "cuffEase": { - "t": "Cuff ease", - "d": "The amount of ease at your wrist." - }, - "frontArmholeDeeper": { - "t": "Front armhole extra cutout", - "d": "How much do you want the front armhole to be cut out deeper than the back." - }, - "frontScyeDart": { - "t": "Front scye dart", - "d": "Controls the dart at the front of the arm opening. This can help control gaping at the armhole." - }, - "shoulderDart": { - "t": "Shoulder dart", - "d": "Whether or not to inlude a dart at the shoulder to round the back" - }, - "shoulderDartSize": { - "t": "Shoulder dart size", - "d": "The size of the shoulder dart" - }, - "shoulderDartLength": { - "t": "Shoulder dart length", - "d": "The length of the shoulder dart" - }, - "shoulderEase": { - "t": "Shoulder ease", - "d": "The amount of ease at your shoulder. This increases the shoulder to shoulder distance to accommodate additional layers or thickness." - }, - "shoulderSlopeReduction": { - "t": "Shoulder slope reduction", - "d": "The amount by which the shoulder slope is reduced to allow for shoulder padding." - }, - "sleeveLengthBonus": { - "t": "Sleeve length bonus", - "d": "The amount to lengthen the sleeve. A negative value will shorten it." - }, - "sleevecapEase": { - "t": "Sleevecap ease", - "d": "The amount by which the sleevecap seam is longer than the armhole seam." - }, - "sleevecapTopFactorX": { - "t": "Sleevecap top X", - "d": "Controls the horizontal location of the sleevecap top." - }, - "sleevecapTopFactorY": { - "t": "Sleevecap top Y", - "d": "Controls the height of the sleevecap. A higher value results in a higher and more narrow sleevecap." - }, - "sleevecapBackFactorX": { - "t": "Sleevecap back X", - "d": "Controls the placement of the sleevecap back pitchpoint on the X-axis (horizontal)" - }, - "sleevecapBackFactorY": { - "t": "Sleevecap back Y", - "d": "Controls the placement of the sleevecap back pitchpoint on the Y-axis (vertical)" - }, - "sleevecapFrontFactorX": { - "t": "Sleevecap front X", - "d": "Controls the placement of the sleevecap front pitchpoint on the X-axis (horizontal)" - }, - "sleevecapFrontFactorY": { - "t": "Sleevecap front Y", - "d": "Controls the placement of the sleevecap front pitchpoint on the Y-axis (vertical)" - }, - "sleevecapQ1Offset": { - "t": "Sleevecap Q1 offset", - "d": "Controls the curvature of the sleevecap in the first quadrant (front armhole)" - }, - "sleevecapQ2Offset": { - "t": "Sleevecap Q2 offset", - "d": "Controls the curvature of the sleevecap in the second quadrant (front shoulder)" - }, - "sleevecapQ3Offset": { - "t": "Sleevecap Q3 offset", - "d": "Controls the curvature of the sleevecap in the third quadrant (back shoulder)" - }, - "sleevecapQ4Offset": { - "t": "Sleevecap Q4 offset", - "d": "Controls the curvature of the sleevecap in the fourth quadrant (back armhole)" - }, - "sleevecapQ1Spread1": { - "t": "Sleevecap Q1 downward spread", - "d": "Controls the spread of the sleevecap first quadrant curvature towards the armhole" - }, - "sleevecapQ1Spread2": { - "t": "Sleevecap Q1 upward spread", - "d": "Controls the spread of the sleevecap first quadrant curvature towards the shoulder" - }, - "sleevecapQ2Spread1": { - "t": "Sleevecap Q2 downward spread", - "d": "Controls the spread of the sleevecap second quadrant curvature towards the armhole" - }, - "sleevecapQ2Spread2": { - "t": "Sleevecap Q2 upward spread", - "d": "Controls the spread of the sleevecap second quadrant curvature towards the shoulder" - }, - "sleevecapQ3Spread1": { - "t": "Sleevecap Q3 upward spread", - "d": "Controls the spread of the sleevecap third quadrant curvature towards the shoulder" - }, - "sleevecapQ3Spread2": { - "t": "Sleevecap Q3 downward spread", - "d": "Controls the spread of the sleevecap third quadrant curvature towards the armhole" - }, - "sleevecapQ4Spread1": { - "t": "Sleevecap Q4 upward spread", - "d": "Controls the spread of the sleevecap fourth quadrant curvature towards the shoulder" - }, - "sleevecapQ4Spread2": { - "t": "Sleevecap Q4 downward spread", - "d": "Controls the spread of the sleevecap fourth quadrant curvature towards the armhole" - }, - "waistDart": { - "t": "Waist dart", - "d": "Whether or not to inlude a dart at the waist to round the back" - }, - "waistDartSize": { - "t": "Waist dart size", - "d": "The size of the waist dart" - }, - "waistDartLength": { - "t": "Waist dart length", - "d": "The length of the waist dart" - }, - "verticalEase": { - "t": "Vertical ease", - "d": "The amount of ease to distribute along the length of the garment" - }, - "waistEase": { - "t": "Waist ease", - "d": "The amount of ease at the waist" - }, - "primaryBustDart": { - "t": "Bust dart", - "d": "Where to place the bust dart to shape the chest" - }, - "primaryBustDartLength": { - "t": "Bust dart length", - "d": "The length of the bust dart" - }, - "secondaryBustDart": { - "t": "Secondary bust dart", - "d": "Optionally include a secondary bust dart to distribute the shaping of the chest" - }, - "secondaryBustDartLength": { - "t": "Secondary bust dart length", - "d": "The length of the secondary bust dart" - }, - "primaryBustDartShaping": { - "t": "Bust darts shaping", - "d": "Controls the balance between the main and secondary bust darts" - } - } -} diff --git a/designs/breanna/i18n/fr.json b/designs/breanna/i18n/fr.json deleted file mode 100644 index 7d690968804..00000000000 --- a/designs/breanna/i18n/fr.json +++ /dev/null @@ -1,191 +0,0 @@ -{ - "t": "Breanna body block", - "d": "Breanna is a basic body block for people with breasts.", - "p": { - "back": "Back", - "base": "Base", - "frontBase": "Front base", - "front": "Front", - "sleevecap": "Sleevecap", - "sleeve": "Sleeve" - }, - "s": {}, - "o": { - "acrossBackFactor": { - "t": "Across back factor", - "d": "Controls your across back width as a factor of your shoulder to shoulder measurement." - }, - "armholeDepthFactor": { - "t": "Armhole depth factor", - "d": "Controls the depth of the armhole. Higher values make a deeper armhole." - }, - "backNeckCutout": { - "t": "Back neck cutout", - "d": "How deep the neck is cut out at the back" - }, - "bicepsEase": { - "t": "Biceps ease", - "d": "The amount of ease at your upper arm. Note that while we try to respect this, fitting the sleeve to the armhole takes precedence over respecting the exact amount of ease." - }, - "collarEase": { - "t": "Collar ease", - "d": "The amount of ease around your neck" - }, - "chestEase": { - "t": "Chest ease", - "d": "The amount of ease at your chest." - }, - "cuffEase": { - "t": "Cuff ease", - "d": "The amount of ease at your wrist." - }, - "frontArmholeDeeper": { - "t": "Front armhole extra cutout", - "d": "How much do you want the front armhole to be cut out deeper than the back." - }, - "frontScyeDart": { - "t": "Front scye dart", - "d": "Controls the dart at the front of the arm opening. This can help control gaping at the armhole." - }, - "shoulderDart": { - "t": "Shoulder dart", - "d": "Whether or not to inlude a dart at the shoulder to round the back" - }, - "shoulderDartSize": { - "t": "Shoulder dart size", - "d": "The size of the shoulder dart" - }, - "shoulderDartLength": { - "t": "Shoulder dart length", - "d": "The length of the shoulder dart" - }, - "shoulderEase": { - "t": "Shoulder ease", - "d": "The amount of ease at your shoulder. This increases the shoulder to shoulder distance to accommodate additional layers or thickness." - }, - "shoulderSlopeReduction": { - "t": "Shoulder slope reduction", - "d": "The amount by which the shoulder slope is reduced to allow for shoulder padding." - }, - "sleeveLengthBonus": { - "t": "Sleeve length bonus", - "d": "The amount to lengthen the sleeve. A negative value will shorten it." - }, - "sleevecapEase": { - "t": "Sleevecap ease", - "d": "The amount by which the sleevecap seam is longer than the armhole seam." - }, - "sleevecapTopFactorX": { - "t": "Sleevecap top X", - "d": "Controls the horizontal location of the sleevecap top." - }, - "sleevecapTopFactorY": { - "t": "Sleevecap top Y", - "d": "Controls the height of the sleevecap. A higher value results in a higher and more narrow sleevecap." - }, - "sleevecapBackFactorX": { - "t": "Sleevecap back X", - "d": "Controls the placement of the sleevecap back pitchpoint on the X-axis (horizontal)" - }, - "sleevecapBackFactorY": { - "t": "Sleevecap back Y", - "d": "Controls the placement of the sleevecap back pitchpoint on the Y-axis (vertical)" - }, - "sleevecapFrontFactorX": { - "t": "Sleevecap front X", - "d": "Controls the placement of the sleevecap front pitchpoint on the X-axis (horizontal)" - }, - "sleevecapFrontFactorY": { - "t": "Sleevecap front Y", - "d": "Controls the placement of the sleevecap front pitchpoint on the Y-axis (vertical)" - }, - "sleevecapQ1Offset": { - "t": "Sleevecap Q1 offset", - "d": "Controls the curvature of the sleevecap in the first quadrant (front armhole)" - }, - "sleevecapQ2Offset": { - "t": "Sleevecap Q2 offset", - "d": "Controls the curvature of the sleevecap in the second quadrant (front shoulder)" - }, - "sleevecapQ3Offset": { - "t": "Sleevecap Q3 offset", - "d": "Controls the curvature of the sleevecap in the third quadrant (back shoulder)" - }, - "sleevecapQ4Offset": { - "t": "Sleevecap Q4 offset", - "d": "Controls the curvature of the sleevecap in the fourth quadrant (back armhole)" - }, - "sleevecapQ1Spread1": { - "t": "Sleevecap Q1 downward spread", - "d": "Controls the spread of the sleevecap first quadrant curvature towards the armhole" - }, - "sleevecapQ1Spread2": { - "t": "Sleevecap Q1 upward spread", - "d": "Controls the spread of the sleevecap first quadrant curvature towards the shoulder" - }, - "sleevecapQ2Spread1": { - "t": "Sleevecap Q2 downward spread", - "d": "Controls the spread of the sleevecap second quadrant curvature towards the armhole" - }, - "sleevecapQ2Spread2": { - "t": "Sleevecap Q2 upward spread", - "d": "Controls the spread of the sleevecap second quadrant curvature towards the shoulder" - }, - "sleevecapQ3Spread1": { - "t": "Sleevecap Q3 upward spread", - "d": "Controls the spread of the sleevecap third quadrant curvature towards the shoulder" - }, - "sleevecapQ3Spread2": { - "t": "Sleevecap Q3 downward spread", - "d": "Controls the spread of the sleevecap third quadrant curvature towards the armhole" - }, - "sleevecapQ4Spread1": { - "t": "Sleevecap Q4 upward spread", - "d": "Controls the spread of the sleevecap fourth quadrant curvature towards the shoulder" - }, - "sleevecapQ4Spread2": { - "t": "Sleevecap Q4 downward spread", - "d": "Controls the spread of the sleevecap fourth quadrant curvature towards the armhole" - }, - "waistDart": { - "t": "Waist dart", - "d": "Whether or not to inlude a dart at the waist to round the back" - }, - "waistDartSize": { - "t": "Waist dart size", - "d": "The size of the waist dart" - }, - "waistDartLength": { - "t": "Waist dart length", - "d": "The length of the waist dart" - }, - "verticalEase": { - "t": "Vertical ease", - "d": "The amount of ease to distribute along the length of the garment" - }, - "waistEase": { - "t": "Waist ease", - "d": "The amount of ease at the waist" - }, - "primaryBustDart": { - "t": "Bust dart", - "d": "Where to place the bust dart to shape the chest" - }, - "primaryBustDartLength": { - "t": "Bust dart length", - "d": "The length of the bust dart" - }, - "secondaryBustDart": { - "t": "Secondary bust dart", - "d": "Optionally include a secondary bust dart to distribute the shaping of the chest" - }, - "secondaryBustDartLength": { - "t": "Secondary bust dart length", - "d": "The length of the secondary bust dart" - }, - "primaryBustDartShaping": { - "t": "Bust darts shaping", - "d": "Controls the balance between the main and secondary bust darts" - } - } -} diff --git a/designs/breanna/i18n/index.mjs b/designs/breanna/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/breanna/i18n/index.mjs +++ b/designs/breanna/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/breanna/i18n/nl.json b/designs/breanna/i18n/nl.json deleted file mode 100644 index 7d690968804..00000000000 --- a/designs/breanna/i18n/nl.json +++ /dev/null @@ -1,191 +0,0 @@ -{ - "t": "Breanna body block", - "d": "Breanna is a basic body block for people with breasts.", - "p": { - "back": "Back", - "base": "Base", - "frontBase": "Front base", - "front": "Front", - "sleevecap": "Sleevecap", - "sleeve": "Sleeve" - }, - "s": {}, - "o": { - "acrossBackFactor": { - "t": "Across back factor", - "d": "Controls your across back width as a factor of your shoulder to shoulder measurement." - }, - "armholeDepthFactor": { - "t": "Armhole depth factor", - "d": "Controls the depth of the armhole. Higher values make a deeper armhole." - }, - "backNeckCutout": { - "t": "Back neck cutout", - "d": "How deep the neck is cut out at the back" - }, - "bicepsEase": { - "t": "Biceps ease", - "d": "The amount of ease at your upper arm. Note that while we try to respect this, fitting the sleeve to the armhole takes precedence over respecting the exact amount of ease." - }, - "collarEase": { - "t": "Collar ease", - "d": "The amount of ease around your neck" - }, - "chestEase": { - "t": "Chest ease", - "d": "The amount of ease at your chest." - }, - "cuffEase": { - "t": "Cuff ease", - "d": "The amount of ease at your wrist." - }, - "frontArmholeDeeper": { - "t": "Front armhole extra cutout", - "d": "How much do you want the front armhole to be cut out deeper than the back." - }, - "frontScyeDart": { - "t": "Front scye dart", - "d": "Controls the dart at the front of the arm opening. This can help control gaping at the armhole." - }, - "shoulderDart": { - "t": "Shoulder dart", - "d": "Whether or not to inlude a dart at the shoulder to round the back" - }, - "shoulderDartSize": { - "t": "Shoulder dart size", - "d": "The size of the shoulder dart" - }, - "shoulderDartLength": { - "t": "Shoulder dart length", - "d": "The length of the shoulder dart" - }, - "shoulderEase": { - "t": "Shoulder ease", - "d": "The amount of ease at your shoulder. This increases the shoulder to shoulder distance to accommodate additional layers or thickness." - }, - "shoulderSlopeReduction": { - "t": "Shoulder slope reduction", - "d": "The amount by which the shoulder slope is reduced to allow for shoulder padding." - }, - "sleeveLengthBonus": { - "t": "Sleeve length bonus", - "d": "The amount to lengthen the sleeve. A negative value will shorten it." - }, - "sleevecapEase": { - "t": "Sleevecap ease", - "d": "The amount by which the sleevecap seam is longer than the armhole seam." - }, - "sleevecapTopFactorX": { - "t": "Sleevecap top X", - "d": "Controls the horizontal location of the sleevecap top." - }, - "sleevecapTopFactorY": { - "t": "Sleevecap top Y", - "d": "Controls the height of the sleevecap. A higher value results in a higher and more narrow sleevecap." - }, - "sleevecapBackFactorX": { - "t": "Sleevecap back X", - "d": "Controls the placement of the sleevecap back pitchpoint on the X-axis (horizontal)" - }, - "sleevecapBackFactorY": { - "t": "Sleevecap back Y", - "d": "Controls the placement of the sleevecap back pitchpoint on the Y-axis (vertical)" - }, - "sleevecapFrontFactorX": { - "t": "Sleevecap front X", - "d": "Controls the placement of the sleevecap front pitchpoint on the X-axis (horizontal)" - }, - "sleevecapFrontFactorY": { - "t": "Sleevecap front Y", - "d": "Controls the placement of the sleevecap front pitchpoint on the Y-axis (vertical)" - }, - "sleevecapQ1Offset": { - "t": "Sleevecap Q1 offset", - "d": "Controls the curvature of the sleevecap in the first quadrant (front armhole)" - }, - "sleevecapQ2Offset": { - "t": "Sleevecap Q2 offset", - "d": "Controls the curvature of the sleevecap in the second quadrant (front shoulder)" - }, - "sleevecapQ3Offset": { - "t": "Sleevecap Q3 offset", - "d": "Controls the curvature of the sleevecap in the third quadrant (back shoulder)" - }, - "sleevecapQ4Offset": { - "t": "Sleevecap Q4 offset", - "d": "Controls the curvature of the sleevecap in the fourth quadrant (back armhole)" - }, - "sleevecapQ1Spread1": { - "t": "Sleevecap Q1 downward spread", - "d": "Controls the spread of the sleevecap first quadrant curvature towards the armhole" - }, - "sleevecapQ1Spread2": { - "t": "Sleevecap Q1 upward spread", - "d": "Controls the spread of the sleevecap first quadrant curvature towards the shoulder" - }, - "sleevecapQ2Spread1": { - "t": "Sleevecap Q2 downward spread", - "d": "Controls the spread of the sleevecap second quadrant curvature towards the armhole" - }, - "sleevecapQ2Spread2": { - "t": "Sleevecap Q2 upward spread", - "d": "Controls the spread of the sleevecap second quadrant curvature towards the shoulder" - }, - "sleevecapQ3Spread1": { - "t": "Sleevecap Q3 upward spread", - "d": "Controls the spread of the sleevecap third quadrant curvature towards the shoulder" - }, - "sleevecapQ3Spread2": { - "t": "Sleevecap Q3 downward spread", - "d": "Controls the spread of the sleevecap third quadrant curvature towards the armhole" - }, - "sleevecapQ4Spread1": { - "t": "Sleevecap Q4 upward spread", - "d": "Controls the spread of the sleevecap fourth quadrant curvature towards the shoulder" - }, - "sleevecapQ4Spread2": { - "t": "Sleevecap Q4 downward spread", - "d": "Controls the spread of the sleevecap fourth quadrant curvature towards the armhole" - }, - "waistDart": { - "t": "Waist dart", - "d": "Whether or not to inlude a dart at the waist to round the back" - }, - "waistDartSize": { - "t": "Waist dart size", - "d": "The size of the waist dart" - }, - "waistDartLength": { - "t": "Waist dart length", - "d": "The length of the waist dart" - }, - "verticalEase": { - "t": "Vertical ease", - "d": "The amount of ease to distribute along the length of the garment" - }, - "waistEase": { - "t": "Waist ease", - "d": "The amount of ease at the waist" - }, - "primaryBustDart": { - "t": "Bust dart", - "d": "Where to place the bust dart to shape the chest" - }, - "primaryBustDartLength": { - "t": "Bust dart length", - "d": "The length of the bust dart" - }, - "secondaryBustDart": { - "t": "Secondary bust dart", - "d": "Optionally include a secondary bust dart to distribute the shaping of the chest" - }, - "secondaryBustDartLength": { - "t": "Secondary bust dart length", - "d": "The length of the secondary bust dart" - }, - "primaryBustDartShaping": { - "t": "Bust darts shaping", - "d": "Controls the balance between the main and secondary bust darts" - } - } -} diff --git a/designs/breanna/i18n/uk.json b/designs/breanna/i18n/uk.json deleted file mode 100644 index 7d690968804..00000000000 --- a/designs/breanna/i18n/uk.json +++ /dev/null @@ -1,191 +0,0 @@ -{ - "t": "Breanna body block", - "d": "Breanna is a basic body block for people with breasts.", - "p": { - "back": "Back", - "base": "Base", - "frontBase": "Front base", - "front": "Front", - "sleevecap": "Sleevecap", - "sleeve": "Sleeve" - }, - "s": {}, - "o": { - "acrossBackFactor": { - "t": "Across back factor", - "d": "Controls your across back width as a factor of your shoulder to shoulder measurement." - }, - "armholeDepthFactor": { - "t": "Armhole depth factor", - "d": "Controls the depth of the armhole. Higher values make a deeper armhole." - }, - "backNeckCutout": { - "t": "Back neck cutout", - "d": "How deep the neck is cut out at the back" - }, - "bicepsEase": { - "t": "Biceps ease", - "d": "The amount of ease at your upper arm. Note that while we try to respect this, fitting the sleeve to the armhole takes precedence over respecting the exact amount of ease." - }, - "collarEase": { - "t": "Collar ease", - "d": "The amount of ease around your neck" - }, - "chestEase": { - "t": "Chest ease", - "d": "The amount of ease at your chest." - }, - "cuffEase": { - "t": "Cuff ease", - "d": "The amount of ease at your wrist." - }, - "frontArmholeDeeper": { - "t": "Front armhole extra cutout", - "d": "How much do you want the front armhole to be cut out deeper than the back." - }, - "frontScyeDart": { - "t": "Front scye dart", - "d": "Controls the dart at the front of the arm opening. This can help control gaping at the armhole." - }, - "shoulderDart": { - "t": "Shoulder dart", - "d": "Whether or not to inlude a dart at the shoulder to round the back" - }, - "shoulderDartSize": { - "t": "Shoulder dart size", - "d": "The size of the shoulder dart" - }, - "shoulderDartLength": { - "t": "Shoulder dart length", - "d": "The length of the shoulder dart" - }, - "shoulderEase": { - "t": "Shoulder ease", - "d": "The amount of ease at your shoulder. This increases the shoulder to shoulder distance to accommodate additional layers or thickness." - }, - "shoulderSlopeReduction": { - "t": "Shoulder slope reduction", - "d": "The amount by which the shoulder slope is reduced to allow for shoulder padding." - }, - "sleeveLengthBonus": { - "t": "Sleeve length bonus", - "d": "The amount to lengthen the sleeve. A negative value will shorten it." - }, - "sleevecapEase": { - "t": "Sleevecap ease", - "d": "The amount by which the sleevecap seam is longer than the armhole seam." - }, - "sleevecapTopFactorX": { - "t": "Sleevecap top X", - "d": "Controls the horizontal location of the sleevecap top." - }, - "sleevecapTopFactorY": { - "t": "Sleevecap top Y", - "d": "Controls the height of the sleevecap. A higher value results in a higher and more narrow sleevecap." - }, - "sleevecapBackFactorX": { - "t": "Sleevecap back X", - "d": "Controls the placement of the sleevecap back pitchpoint on the X-axis (horizontal)" - }, - "sleevecapBackFactorY": { - "t": "Sleevecap back Y", - "d": "Controls the placement of the sleevecap back pitchpoint on the Y-axis (vertical)" - }, - "sleevecapFrontFactorX": { - "t": "Sleevecap front X", - "d": "Controls the placement of the sleevecap front pitchpoint on the X-axis (horizontal)" - }, - "sleevecapFrontFactorY": { - "t": "Sleevecap front Y", - "d": "Controls the placement of the sleevecap front pitchpoint on the Y-axis (vertical)" - }, - "sleevecapQ1Offset": { - "t": "Sleevecap Q1 offset", - "d": "Controls the curvature of the sleevecap in the first quadrant (front armhole)" - }, - "sleevecapQ2Offset": { - "t": "Sleevecap Q2 offset", - "d": "Controls the curvature of the sleevecap in the second quadrant (front shoulder)" - }, - "sleevecapQ3Offset": { - "t": "Sleevecap Q3 offset", - "d": "Controls the curvature of the sleevecap in the third quadrant (back shoulder)" - }, - "sleevecapQ4Offset": { - "t": "Sleevecap Q4 offset", - "d": "Controls the curvature of the sleevecap in the fourth quadrant (back armhole)" - }, - "sleevecapQ1Spread1": { - "t": "Sleevecap Q1 downward spread", - "d": "Controls the spread of the sleevecap first quadrant curvature towards the armhole" - }, - "sleevecapQ1Spread2": { - "t": "Sleevecap Q1 upward spread", - "d": "Controls the spread of the sleevecap first quadrant curvature towards the shoulder" - }, - "sleevecapQ2Spread1": { - "t": "Sleevecap Q2 downward spread", - "d": "Controls the spread of the sleevecap second quadrant curvature towards the armhole" - }, - "sleevecapQ2Spread2": { - "t": "Sleevecap Q2 upward spread", - "d": "Controls the spread of the sleevecap second quadrant curvature towards the shoulder" - }, - "sleevecapQ3Spread1": { - "t": "Sleevecap Q3 upward spread", - "d": "Controls the spread of the sleevecap third quadrant curvature towards the shoulder" - }, - "sleevecapQ3Spread2": { - "t": "Sleevecap Q3 downward spread", - "d": "Controls the spread of the sleevecap third quadrant curvature towards the armhole" - }, - "sleevecapQ4Spread1": { - "t": "Sleevecap Q4 upward spread", - "d": "Controls the spread of the sleevecap fourth quadrant curvature towards the shoulder" - }, - "sleevecapQ4Spread2": { - "t": "Sleevecap Q4 downward spread", - "d": "Controls the spread of the sleevecap fourth quadrant curvature towards the armhole" - }, - "waistDart": { - "t": "Waist dart", - "d": "Whether or not to inlude a dart at the waist to round the back" - }, - "waistDartSize": { - "t": "Waist dart size", - "d": "The size of the waist dart" - }, - "waistDartLength": { - "t": "Waist dart length", - "d": "The length of the waist dart" - }, - "verticalEase": { - "t": "Vertical ease", - "d": "The amount of ease to distribute along the length of the garment" - }, - "waistEase": { - "t": "Waist ease", - "d": "The amount of ease at the waist" - }, - "primaryBustDart": { - "t": "Bust dart", - "d": "Where to place the bust dart to shape the chest" - }, - "primaryBustDartLength": { - "t": "Bust dart length", - "d": "The length of the bust dart" - }, - "secondaryBustDart": { - "t": "Secondary bust dart", - "d": "Optionally include a secondary bust dart to distribute the shaping of the chest" - }, - "secondaryBustDartLength": { - "t": "Secondary bust dart length", - "d": "The length of the secondary bust dart" - }, - "primaryBustDartShaping": { - "t": "Bust darts shaping", - "d": "Controls the balance between the main and secondary bust darts" - } - } -} diff --git a/designs/breanna/package.json b/designs/breanna/package.json index a41467a8921..3da7db9b5b4 100644 --- a/designs/breanna/package.json +++ b/designs/breanna/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/breanna", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a basic body block for womenswear", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,49 +25,40 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/brian": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/brian": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/breanna/src/base.mjs b/designs/breanna/src/base.mjs index b3d0b416cc1..917ecd1e2b4 100644 --- a/designs/breanna/src/base.mjs +++ b/designs/breanna/src/base.mjs @@ -1,3 +1,5 @@ +import { pctBasedOn } from '@freesewing/core' + function draftBreannaBase({ store, points, Point, measurements, options, utils, part }) { // HPS points.hps = new Point((measurements.neck * (1 + options.collarEase)) / options.collarFactor, 0) @@ -158,17 +160,17 @@ export const base = { acrossBackFactor: { pct: 96, min: 93, max: 100, menu: 'advanced' }, armholeDepthFactor: { pct: 100, min: 80, max: 120, menu: 'advanced' }, backNeckCutout: { pct: 5, min: 2, max: 8, menu: 'advanced' }, - bicepsEase: { pct: 15, min: 0, max: 50, menu: 'fit' }, + bicepsEase: { pct: 15, min: 0, max: 50, ...pctBasedOn('biceps'), menu: 'fit' }, shoulderDartSize: { pct: 7, min: 4, max: 10, menu: onlyWithShoulderDart }, shoulderDartLength: { pct: 85, min: 60, max: 100, menu: onlyWithShoulderDart }, waistDartSize: { pct: 10, min: 4, max: 15, menu: onlyWithWaistDart }, waistDartLength: { pct: 85, min: 60, max: 100, menu: onlyWithWaistDart }, verticalEase: { pct: 2, min: 0, max: 8, menu: 'fit' }, frontArmholeDeeper: { pct: 1, min: 0, max: 5, menu: 'advanced' }, - shoulderEase: { pct: 0, min: 0, max: 4, menu: 'fit' }, - collarEase: { pct: 3.5, min: 0, max: 10, menu: 'fit' }, - chestEase: { pct: 10, min: 5, max: 20, menu: 'fit' }, - waistEase: { pct: 10, min: 5, max: 20, menu: 'fit' }, + shoulderEase: { pct: 0, min: 0, max: 4, ...pctBasedOn('shoulderToShoulder'), menu: 'fit' }, + collarEase: { pct: 3.5, min: 0, max: 10, ...pctBasedOn('neck'), menu: 'fit' }, + chestEase: { pct: 10, min: 5, max: 20, ...pctBasedOn('chest'), menu: 'fit' }, + waistEase: { pct: 10, min: 5, max: 20, ...pctBasedOn('waist'), menu: 'fit' }, primaryBustDartShaping: { pct: 50, min: 25, max: 75, menu: 'style' }, primaryBustDartLength: { pct: 85, min: 65, max: 95, menu: 'style' }, secondaryBustDartLength: { pct: 85, min: 65, max: 95, menu: 'style' }, diff --git a/designs/breanna/src/index.mjs b/designs/breanna/src/index.mjs index f99a40ff862..989b977dac1 100644 --- a/designs/breanna/src/index.mjs +++ b/designs/breanna/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { back } from './back.mjs' import { front } from './front.mjs' import { sleeve } from './sleeve.mjs' @@ -10,9 +10,9 @@ import { i18n } from '../i18n/index.mjs' // Create design const Breanna = new Design({ - data, + data: about, parts: [back, front, sleeve, base, frontBase, sleevecap], }) // Named exports -export { back, front, sleeve, base, frontBase, sleevecap, Breanna, i18n } +export { back, front, sleeve, base, frontBase, sleevecap, Breanna, i18n, about } diff --git a/designs/breanna/src/sleeve.mjs b/designs/breanna/src/sleeve.mjs index 3b775cd4ddb..095f0fae021 100644 --- a/designs/breanna/src/sleeve.mjs +++ b/designs/breanna/src/sleeve.mjs @@ -2,6 +2,7 @@ import { sleevecap } from './sleevecap.mjs' import { front } from './front.mjs' import { frontBase } from './front-base.mjs' import { back } from './back.mjs' +import { pctBasedOn } from '@freesewing/core' function draftBreannaSleeve(params) { const { @@ -147,7 +148,7 @@ export const sleeve = { after: [front, frontBase, back], measurements: ['shoulderToWrist', 'wrist'], options: { - cuffEase: { pct: 20, min: 0, max: 50, menu: 'fit' }, + cuffEase: { pct: 20, min: 0, max: 50, ...pctBasedOn('wrist'), menu: 'fit' }, sleeveLengthBonus: { pct: 0, min: -40, max: 10, menu: 'style' }, }, draft: draftBreannaSleeve, diff --git a/designs/breanna/tests/shared.test.mjs b/designs/breanna/tests/shared.test.mjs index c15b4178525..0e344e4c616 100644 --- a/designs/breanna/tests/shared.test.mjs +++ b/designs/breanna/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Breanna, i18n } from '../src/index.mjs' +import { Breanna, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Breanna) +testPatternConfig(Breanna, about) // Test translation testPatternI18n(Breanna, i18n) diff --git a/designs/brian/CHANGELOG.md b/designs/brian/CHANGELOG.md index bb42bba54b4..59b34ec33bc 100644 --- a/designs/brian/CHANGELOG.md +++ b/designs/brian/CHANGELOG.md @@ -1,6 +1,12 @@ # Change log for: @freesewing/brian +## 4.0.0 (2024-04-01) + +### Changed + + - Always load plugin-bust due to its changes in how it handle conditionality. + ## 3.2.0 (2024-02-11) ### Fixed diff --git a/designs/brian/README.md b/designs/brian/README.md index 0ba0f3ca781..e8b5e949480 100644 --- a/designs/brian/README.md +++ b/designs/brian/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:brian - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/brian @@ -59,7 +44,7 @@ A FreeSewing pattern for a basic body block for menswear > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/brian/data.mjs b/designs/brian/data.mjs deleted file mode 100644 index 7919dc37f8a..00000000000 --- a/designs/brian/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/brian' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/brian/i18n/de.json b/designs/brian/i18n/de.json deleted file mode 100644 index 2e1aa2d93a3..00000000000 --- a/designs/brian/i18n/de.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "t": "Brian, ein Grundschnitt", - "d": "Brian ist ein Grundschnitt für Personen ohne Brüste.", - "p": { - "back": "Back", - "front": "Front", - "base": "Base", - "sleevecap": "Sleevecap", - "sleeve": "Sleeve" - }, - "s": {}, - "o": { - "acrossBackFactor": { - "t": "Rückenweitenverhältnis", - "d": "Beeinflusst das Verhältnis zwischen Rücken- und Schulterweite measurement." - }, - "armholeDepthFactor": { - "t": "Tiefenfaktor des Armloches", - "d": "Steuert die Tiefe des Armloches. Höhere Werte ergeben ein tieferes Armloch." - }, - "backNeckCutout": { - "t": "Ausschnitt im Nacken", - "d": "Wie tief der Hals am Rücken ausgeschnitten ist" - }, - "bicepsEase": { - "t": "Bizeps Zugabe", - "d": "Die Menge an Bewegungszugabe am Oberarm. Während wir versuchen, dies zu respektieren, hat das genaue Anbringen des Ärmels am Armloch Vorrang vor der Einhaltung der genauen Zugabe." - }, - "collarEase": { - "t": "Kragen Zugabe", - "d": "Die Menge an Bequemlichkeits-/Bewegungszugabe um deinen Hals herum" - }, - "chestEase": { - "t": "Brustzugabe", - "d": "Die Menge an Bewegungs-/Bequemlichkeitszugabe an deiner Brust." - }, - "cuffEase": { - "t": "Manschette Zugabe", - "d": "Die Bequemlichkeits-/Bewegungszugabe am Handgelenk." - }, - "draftForHighBust": { - "t": "Entwurf für hohe Büste", - "d": "Zeichnen Sie das Muster für die hohe Büstenmessung (falls vorhanden) statt der (vollen) Truhe. Dies wird zu einem besser angepassten Kleidungsstück für Brustkleidung führen." - }, - "frontArmholeDeeper": { - "t": "Zusätzlicher Ausschnitt am vorderen Armloch", - "d": "Um wie viel das vordere Armloch tiefer ausgeschnitten ist als im Rücken." - }, - "lengthBonus": { - "t": "Längenzugabe", - "d": "Der Betrag, um den das Kleidungsstück verlängert wird. Ein negativer Wert verkürzt es." - }, - "s3Collar": { - "t": "Schulternahtverschiebung: Kragenseite", - "d": "Vergrößern Sie diese Option, um die SchulterNaht auf der Kragenseite nach vorne zu verschieben. Verringert sie sie rückwärts." - }, - "s3Armhole": { - "t": "Schulternahtverschiebung: Armlochseite", - "d": "Erhöhe diese Option, um die SchulterNaht auf der Armlochseite nach vorne zu verschieben. Verringert sie sie rückwärts." - }, - "shoulderEase": { - "t": "Schulter Zugabe", - "d": "Die Menge an Bequemlichkeits-/Bewegungszugabe an der Schulter. Dies erhöht den Schulterabstand, um zusätzliche Lagen oder die Dicke des Stoffes zu beherbergen." - }, - "shoulderSlopeReduction": { - "t": "Verringerung der Schulterneigung", - "d": "Der Betrag, um den die Schulterneigung reduziert wird, um eine Schulterpolsterung zu ermöglichen." - }, - "sleeveLengthBonus": { - "t": "Ärmel Längenzugabe", - "d": "Der Betrag, um den der Ärmel verlängert wird. Ein negativer Wert verkürzt ihn." - }, - "sleevecapEase": { - "t": "Armkugel Zugabe", - "d": "Der Betrag, um den die Armkugelnaht länger ist als die Armlochnaht." - }, - "sleevecapTopFactorX": { - "t": "Armkugel Oben X", - "d": "Steuert die horizontale Position der Armkugel oben." - }, - "sleevecapTopFactorY": { - "t": "Armkugel Oben Y", - "d": "Steuert die Höhe der Armkugel. Ein höherer Wert führt zu einer höheren und schmaleren Armkugel." - }, - "sleevecapBackFactorX": { - "t": "Armkugel Hinten X", - "d": "Steuert die Platzierung des hinteren Neigungspunkts der Armkugel auf der X-Achse (horizontal)" - }, - "sleevecapBackFactorY": { - "t": "Armkugel Hinten Y", - "d": "Steuert die Platzierung des hinteren Neigungspunkts der Armkugel auf der Y-Achse (vertikal)" - }, - "sleevecapFrontFactorX": { - "t": "Armkugel Vorne X", - "d": "Steuert die Platzierung des vorderen Neigungspunkts der Armkugel auf der X-Achse (horizontal)" - }, - "sleevecapFrontFactorY": { - "t": "Armkugel Vorne Y", - "d": "Steuert die Platzierung des vorderen Neigungspunkts der Armkugel auf der Y-Achse (vertikal)" - }, - "sleevecapQ1Offset": { - "t": "Offset der Armkugel Q1", - "d": "Steuert die Krümmung der Armkugel im ersten Quadranten (vorderes Armloch)" - }, - "sleevecapQ2Offset": { - "t": "Offset der Armkugel Q2", - "d": "Steuert die Krümmung der Armkugel im zweiten Quadranten (vordere Schulter)" - }, - "sleevecapQ3Offset": { - "t": "Offset der Armkugel Q3", - "d": "Steuert die Krümmung der Armkugel im dritten Quadranten (hintere Schulter)" - }, - "sleevecapQ4Offset": { - "t": "Offset der Armkugel Q4", - "d": "Steuert die Krümmung der Armkugel im vierten Quadranten (hinteres Armloch)" - }, - "sleevecapQ1Spread1": { - "t": "Armkugel Q1 Spreizung nach unten", - "d": "Steuert die Spreizung der Armkugel im ersten Quadranten in Richtung des Armlochs" - }, - "sleevecapQ1Spread2": { - "t": "Armkugel Q1 Spreizung nach oben", - "d": "Steuert die Spreizung der Armkugel im ersten Quadranten in Richtung der Schulter" - }, - "sleevecapQ2Spread1": { - "t": "Armkugel Q2 Spreizung nach unten", - "d": "Steuert die Spreizung der Armkugel im zweiten Quadranten in Richtung des Armlochs" - }, - "sleevecapQ2Spread2": { - "t": "Armkugel Q2 Spreizung nach oben", - "d": "Steuert die Spreizung der Armkugel im zweiten Quadranten in Richtung der Schulter" - }, - "sleevecapQ3Spread1": { - "t": "Armkugel Q3 Spreizung nach oben", - "d": "Steuert die Spreizung der Armkugel im dritten Quadranten in Richtung der Schulter" - }, - "sleevecapQ3Spread2": { - "t": "Armkugel Q3 Spreizung nach unten", - "d": "Steuert die Spreizung der Armkugel im dritten Quadranten in Richtung des Armlochs" - }, - "sleevecapQ4Spread1": { - "t": "Armkugel Q4 Spreizung nach oben", - "d": "Steuert die Spreizung der Armkugel im vierten Quadranten in Richtung der Schulter" - }, - "sleevecapQ4Spread2": { - "t": "Armkugel Q4 Spreizung nach unten", - "d": "Steuert die Spreizung der Armkugel im vierten Quadranten in Richtung des Armlochs" - }, - "sleeveWidthGuarantee": { - "t": "Garantie der Ärmelbreite", - "d": "Steuert, wie viel von der Ärmelbreite garantiert wird. Dies bestimmt, um wie viel wir die Ärmelbreite verändern können, um die Ärmel in das Armloch einzupassen." - } - } -} diff --git a/designs/brian/i18n/es.json b/designs/brian/i18n/es.json deleted file mode 100644 index 2a03fc0e4b9..00000000000 --- a/designs/brian/i18n/es.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "t": "Brian, patrón base de torso sin pechos", - "d": "Brian es un patrón base para personas sin pechos.", - "p": { - "back": "Back", - "front": "Front", - "base": "Base", - "sleevecap": "Sleevecap", - "sleeve": "Sleeve" - }, - "s": {}, - "o": { - "acrossBackFactor": { - "t": "Factor de ancho de espalda", - "d": "Controla el ancho de espalda como un factor de la medida de hombro a hombro." - }, - "armholeDepthFactor": { - "t": "Factor de profundidad de la sisa", - "d": "Controla la profundidad de la sisa. Valores más altos producen sisas más profundas." - }, - "backNeckCutout": { - "t": "Corte trasero del cuello", - "d": "Cómo de profundo es el cuello por detrás" - }, - "bicepsEase": { - "t": "Holgura del bíceps", - "d": "La cantidad de holgura en la parte superior del brazo. Ten en cuenta que, aunque intentamos repetar esto, ajustar la manga a la sisa toma preferencia sobre respetar la cantidad exacta de holgura." - }, - "collarEase": { - "t": "Facilidad de cuello", - "d": "La cantidad de facilidad alrededor de tu cuello." - }, - "chestEase": { - "t": "Holgura de pecho", - "d": "La cantidad de holgura en el pecho" - }, - "cuffEase": { - "t": "Holgura de muñeca", - "d": "La cantidad de holgura en la muñeca." - }, - "draftForHighBust": { - "t": "Borrador para alta caída", - "d": "Borra el patrón para la medición alta del polvo (si está disponible) en lugar del cofre (completo). Esto dará lugar a una prenda más ajustada para las personas con senos." - }, - "frontArmholeDeeper": { - "t": "Sujetador delantero extra recorte", - "d": "¿Cuánto quieres que se corte la sisa delantera más allá de la espalda?" - }, - "lengthBonus": { - "t": "Bonus de longitud", - "d": "La cantidad a elongar. Valores negativos lo acortan." - }, - "s3Collar": { - "t": "Mayo de costura de hombro: lado de cuello", - "d": "Aumenta esta opción para desplazar la costura del hombro hacia adelante en el lado del cuello. Disminuye su desplazamiento hacia atrás." - }, - "s3Armhole": { - "t": "Mayo de costura de hombro: lado del orificio", - "d": "Aumenta esta opción para desplazar la costura del hombro hacia adelante en el lado del blindaje. Disminuye su desplazamiento hacia atrás." - }, - "shoulderEase": { - "t": "Holgura de hombro", - "d": "La cantidad de holgura en los hombros. Esto incrementa la distancia de hombro a hombro para dejar espacio para la ropa que lleves debajo." - }, - "shoulderSlopeReduction": { - "t": "Reducción de caída del hombro", - "d": "La cantidad en la que la caída del hombro se reduce para añadir hombreras." - }, - "sleeveLengthBonus": { - "t": "Longitud extra de manga", - "d": "La cantidad a alargar la manga. Un valor negativo la acorta." - }, - "sleevecapEase": { - "t": "Holgura de la parte superior de la manga", - "d": "La cantidad en la que la parte superior de la manga es más larga que la sisa" - }, - "sleevecapTopFactorX": { - "t": "Funda tapa X", - "d": "Controla la ubicación horizontal de la parte superior de la funda" - }, - "sleevecapTopFactorY": { - "t": "Funda tapa Y", - "d": "Controla la altura de la manga. Un valor más alto hace que la parte superior de la manga sea más alta y estrecha." - }, - "sleevecapBackFactorX": { - "t": "Funda atrás X", - "d": "Controla la colocación del punto de inflexión posterior de la funda en el eje X (horizontal)" - }, - "sleevecapBackFactorY": { - "t": "Funda atrás X", - "d": "Controla la colocación del punto de inflexión posterior de la funda en el eje Y (vertical)" - }, - "sleevecapFrontFactorX": { - "t": "Funda frontal X", - "d": "Controla la colocación del punto de inflexión frontal de la funda en el eje X (horizontal)" - }, - "sleevecapFrontFactorY": { - "t": "Funda frontal Y", - "d": "Controla la colocación del punto de inflexión frontal de la funda en el eje Y (vertical)" - }, - "sleevecapQ1Offset": { - "t": "Funda Q1 offset", - "d": "Controla la curvatura de la funda en el primer cuadrante (sisa frontal)" - }, - "sleevecapQ2Offset": { - "t": "Funda Q2 offset", - "d": "Controla la curvatura de la funda en el segundo cuadrante (hombro delantero)" - }, - "sleevecapQ3Offset": { - "t": "Funda Q3 offset", - "d": "Controla la curvatura de la funda en el tercer cuadrante (hombro posterior)" - }, - "sleevecapQ4Offset": { - "t": "Funda Q4 offset", - "d": "Controla la curvatura de la funda en el cuarto cuadrante (sisa trasera)" - }, - "sleevecapQ1Spread1": { - "t": "Funda Q1 propagación a la baja", - "d": "Controla la propagación de la curvatura del primer cuadrante de la manga hacia la sisa." - }, - "sleevecapQ1Spread2": { - "t": "Funda Q1 propagación hacia arriba", - "d": "Controla la propagación de la curvatura del primer cuadrante de manga hacia el hombro" - }, - "sleevecapQ2Spread1": { - "t": "Funda Q2 propagación a la baja", - "d": "Controla la propagación de la curvatura del segundo cuadrante del manguito hacia la sisa." - }, - "sleevecapQ2Spread2": { - "t": "Funda Q2 extendido hacia arriba", - "d": "Controla la propagación de la curvatura del segundo cuadrante de manga hacia el hombro" - }, - "sleevecapQ3Spread1": { - "t": "Funda Q3 extendido hacia arriba", - "d": "Controla la propagación de la curvatura del tercer cuadrante de manga hacia el hombro" - }, - "sleevecapQ3Spread2": { - "t": "Funda Q3 propagación a la baja", - "d": "Controla la propagación de la curvatura del tercer cuadrante de la manga hacia la sisa." - }, - "sleevecapQ4Spread1": { - "t": "Funda Q4 extendido hacia arriba", - "d": "Controla la propagación de la curvatura del cuarto cuadrante de manga hacia el hombro" - }, - "sleevecapQ4Spread2": { - "t": "Funda Q4 propagación a la baja", - "d": "Controla la propagación de la curvatura del cuarto cuadrante de manga hacia la sisa." - }, - "sleeveWidthGuarantee": { - "t": "Garantía de anchura de la manga", - "d": "Controla cuánto del ancho de la manga se garantizará. Esto determina cuánto podemos alterar el ancho de la manga para que se ajuste a la manga en la sisa." - } - } -} diff --git a/designs/brian/i18n/fr.json b/designs/brian/i18n/fr.json deleted file mode 100644 index a1d7a72884e..00000000000 --- a/designs/brian/i18n/fr.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "t": "Patron de base Brian", - "d": "Brian est un bloc corporel de base pour les personnes sans sein.", - "p": { - "back": "Back", - "front": "Front", - "base": "Base", - "sleevecap": "Sleevecap", - "sleeve": "Sleeve" - }, - "s": {}, - "o": { - "acrossBackFactor": { - "t": "Largeur du dos", - "d": "Contrôle la largeur de votre dos en jouant sur la mesure d'une épaule à l'autre." - }, - "armholeDepthFactor": { - "t": "Hauteur de l'emmanchure", - "d": "Contrôle la hauteur de l'emmanchure. Des valeurs plus élevées font une emmanchure plus profonde/basse." - }, - "backNeckCutout": { - "t": "Arrondi de l'encolure dos", - "d": "Quelle est la profondeur de l'encolure dans le dos" - }, - "bicepsEase": { - "t": "Aisance au niveau des biceps", - "d": "L'ampleur d'aisance au niveau de votre bras supérieur. Veuillez noter que bien que nous essayons de respecter ce critère, l'ajustement de la manche jusqu'à l'emmanchure est prioritaire sur le respect de la quantité exacte d'aisance." - }, - "collarEase": { - "t": "Aisance du col", - "d": "L'ampleur d'aisance au niveau du cou." - }, - "chestEase": { - "t": "Aisance de poitrine", - "d": "La quantité d'aisance à votre poitrine." - }, - "cuffEase": { - "t": "Aisance de poignet", - "d": "L'ampleur d'aisance à votre poignet." - }, - "draftForHighBust": { - "t": "Tracé pour le haut de la poitrine", - "d": "Tracez le patron pour la mesure du dessus de poitrine (si disponible) au lieu du torse. Cela donnera un vêtement plus ajusté pour les personnes avec des seins." - }, - "frontArmholeDeeper": { - "t": "Découpe supplémentaire sur l'emmanchure avant", - "d": "Combien voulez-vous que l’emmanchure devant soit découpée plus profondément que le dos." - }, - "lengthBonus": { - "t": "Supplément de longueur", - "d": "La quantité à ajouter pour rallonger le vêtement. Une valeur négative le raccourcira." - }, - "s3Collar": { - "t": "Changement de couture des épaules: côté col", - "d": "Augmentez cette option pour déplacer la couture de l'épaule vers l'avant sur le côté. La diminuer la déplace vers l'arrière." - }, - "s3Armhole": { - "t": "Changement de couture des épaules: côté des bras", - "d": "Augmente cette option pour déplacer la couture de l'épaule vers l'avant sur le côté de l'armure. Diminuer la glisse vers l'arrière." - }, - "shoulderEase": { - "t": "Aisance des épaules", - "d": "La quantité d'aisance à votre épaule. Cela augmente la distance entre épaules pour accommoder des couches ou épaisseurs supplémentaires." - }, - "shoulderSlopeReduction": { - "t": "Réduction de la pente d'épaule", - "d": "La quantité par laquelle la pente des épaules est réduite pour permettre un ajustement aux épaules." - }, - "sleeveLengthBonus": { - "t": "Bonus de longueur de manche", - "d": "Le montant pour rallonger la manche. Une valeur négative le raccourcira." - }, - "sleevecapEase": { - "t": "Aisance tête de manche", - "d": "Le montant par lequel la couture du tête de manche est plus longue que celle des emmanchures." - }, - "sleevecapTopFactorX": { - "t": "Tête de manche top X", - "d": "Contrôle l'emplacement horizontal du tête de manche." - }, - "sleevecapTopFactorY": { - "t": "Tête de manche top Y", - "d": "Contrôle la hauteur du tête de manche. Plus la valeur est élevée, plus la tête de manche est haute et étroite." - }, - "sleevecapBackFactorX": { - "t": "Tête de manche arrière X", - "d": "Contrôle le positionnement du point d'inclinaison arrière du tête de manche sur l'axe des X (horizontal)" - }, - "sleevecapBackFactorY": { - "t": "Tête de manche arrière Y", - "d": "Contrôle le positionnement du point d'inclinaison arrière du tête de manche sur l'axe des Y (vertical)" - }, - "sleevecapFrontFactorX": { - "t": "Tête de manche devant X", - "d": "Contrôle le positionnement du point d'inclinaison avant du tête de manche sur l'axe des X (horizontal)" - }, - "sleevecapFrontFactorY": { - "t": "Tête de manche devant Y", - "d": "Contrôle le positionnement du point d'inclinaison avant du tête de manche sur l'axe des Y (vertical)" - }, - "sleevecapQ1Offset": { - "t": "Tête de manche décalage Q1", - "d": "Contrôle la courbure du tête de manche dans le premier quadrant (emmanchure devant)." - }, - "sleevecapQ2Offset": { - "t": "Tête de manche décalage Q2", - "d": "Contrôle la courbure du tête de manche dans le deuxième quadrant (épaule avant)." - }, - "sleevecapQ3Offset": { - "t": "Tête de manche décalage Q3", - "d": "Contrôle la courbure du tête de manche dans le troisième quadrant (épaule arrière)." - }, - "sleevecapQ4Offset": { - "t": "Tête de manche décalage Q4", - "d": "Contrôle la courbure du tête de manche dans le quatrième quadrant (emmanchure au dos)." - }, - "sleevecapQ1Spread1": { - "t": "Tête de manche abaissement Q1", - "d": "Contrôle l'abaissement de la courbure du premier quadrant de la tête de manche vers l'emmanchure" - }, - "sleevecapQ1Spread2": { - "t": "Tête de manche élévation Q1", - "d": "Contrôle l'élévation de la courbure du premier quadrant de la tête de manche vers l'épaule" - }, - "sleevecapQ2Spread1": { - "t": "Tête de manche abaissement Q2", - "d": "Contrôle l'abaissement de la courbure du second quadrant de la tête de manche vers l'emmanchure" - }, - "sleevecapQ2Spread2": { - "t": "Tête de manche élévation Q2", - "d": "Contrôle l'élévation de la courbure du second quadrant de la tête de manche vers l'épaule" - }, - "sleevecapQ3Spread1": { - "t": "Tête de manche élévation Q3", - "d": "Contrôle l'élévation de la courbure du troisième quadrant de la tête de manche vers l'épaule" - }, - "sleevecapQ3Spread2": { - "t": "Tête de manche abaissement Q3", - "d": "Contrôle l'abaissement de la courbure du troisième quadrant de la tête de manche vers l'emmanchure" - }, - "sleevecapQ4Spread1": { - "t": "Tête de manche élévation Q4", - "d": "Contrôle l'élévation de la courbure du quatrième quadrant de la tête de manche vers l'épaule" - }, - "sleevecapQ4Spread2": { - "t": "Tête de manche abaissement Q4", - "d": "Contrôle l'abaissement de la courbure du quatrième quadrant de la tête de manche vers l'emmanchure" - }, - "sleeveWidthGuarantee": { - "t": "Largeur des manches garantie", - "d": "Contrôle la largeur de manche garantie. Cela détermine à quel point nous pouvons modifier la largeur de la manche pour l'adapter à l'emmanchure." - } - } -} diff --git a/designs/brian/i18n/index.mjs b/designs/brian/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/brian/i18n/index.mjs +++ b/designs/brian/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/brian/i18n/nl.json b/designs/brian/i18n/nl.json deleted file mode 100644 index 324e821fe7f..00000000000 --- a/designs/brian/i18n/nl.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "t": "Brian Basisvorm", - "d": "Brian is een basislichaam voor mensen zonder borsten.", - "p": { - "back": "Back", - "front": "Front", - "base": "Base", - "sleevecap": "Sleevecap", - "sleeve": "Sleeve" - }, - "s": {}, - "o": { - "acrossBackFactor": { - "t": "Rugwijdte", - "d": "Geeft controle over de breedte van je rug als een factor van je schouder tot schouder maat." - }, - "armholeDepthFactor": { - "t": "Diepte armsgat factor", - "d": "Controleert de diepte van het armsgat. Hoe hoger deze waarde, hoe dieper het armsgat." - }, - "backNeckCutout": { - "t": "Hals uitsnijding achteraan", - "d": "Hoe diep de nek wordt uitgesneden aan de rug" - }, - "bicepsEase": { - "t": "Overwijdte biceps", - "d": "De hoeveelheid overwijdte aan je bovenarm. Let op dat we proberen dit te respecteren, maar dat de mouw in het armsgat laten passen voorrang krijgt op de hoeveelheid overwijdte. " - }, - "collarEase": { - "t": "Overwijdte kraag", - "d": "De hoeveelheid overwijdte rond je nek." - }, - "chestEase": { - "t": "Overwijdte borst", - "d": "De hoeveelheid overwijdte aan je borst." - }, - "cuffEase": { - "t": "Overwijdte manchet", - "d": "De hoeveelheid overwijdte aan je pols." - }, - "draftForHighBust": { - "t": "Teken voor hoge buste", - "d": "Teken het patroon voor de hoge bustemaat (indien beschikbaar) in plaats van de volle borstomtrek. Dit heeft een aansluitender kledingstuk als resultaat voor mensen met borsten." - }, - "frontArmholeDeeper": { - "t": "Extra uitsnijding armsgat vooraan", - "d": "Hoeveel dieper moet het armsgat vooraan zijn uitgesneden, in vergelijking met het armsgat achteraan." - }, - "lengthBonus": { - "t": "Lengtebonus", - "d": "De hoeveelheid waarmee het kledingstuk verlengd wordt. Een negatieve waarde maakte het korter." - }, - "s3Collar": { - "t": "Schoudernaad verschuiving: kraagkant", - "d": "Verhoog deze optie om de schoudernaad vooruit aan de kant van de kraag te bewegen. Door deze te verschuiven wordt de naad achterwaarts verlegd." - }, - "s3Armhole": { - "t": "Schouder naad shift: armsgatzijde", - "d": "Verhoog deze optie om de schoudernaad vooruit aan de zijkant van het armsgat naar voren te bewegen. Vermindering ervan verlegt de schoudernaad." - }, - "shoulderEase": { - "t": "Overwijdte schouder", - "d": "De hoeveelheid overwijdte aan je schouder. Dit vergroot de afstand van schouder tot schouder om ruimte te maken voor wat je onder je jas draagt." - }, - "shoulderSlopeReduction": { - "t": "Reductie schouderhelling", - "d": "Hoeveel de schouderhelling verminderd wordt om ruimte te maken voor epauletten." - }, - "sleeveLengthBonus": { - "t": "Bonus mouwlengte", - "d": "De hoeveelheid waarmee de mouw verlengd wordt. Een negatieve waarde zal ze korter maken." - }, - "sleevecapEase": { - "t": "Extra ruimte mouwkop", - "d": "Hoeveel langer de naad van de mouwkop is dan de naad van het armsgat." - }, - "sleevecapTopFactorX": { - "t": "Mouwkop top X", - "d": "Bepaalt de horizontale locatie van de top van de mouwkop" - }, - "sleevecapTopFactorY": { - "t": "Mouwkop top X", - "d": "Controleert de hoogte van de mouwkop. Een hogere waarde heeft als resultaat een hogere en smallere mouwkop." - }, - "sleevecapBackFactorX": { - "t": "Mouwkop X achteraan", - "d": "Bepaalt de plaatsing op de X-as (horizontaal) van het ankerpunt van het achterste deel van de mouwkop" - }, - "sleevecapBackFactorY": { - "t": "Mouwkop Y achteraan", - "d": "Bepaalt de plaatsing op de Y-as (verticaal) van het ankerpunt van het achterste deel van de mouwkop" - }, - "sleevecapFrontFactorX": { - "t": "Mouwkop X vooraan", - "d": "Bepaalt de plaatsing op de X-as (horizontaal) van het ankerpunt van het voorste deel van de mouwkop" - }, - "sleevecapFrontFactorY": { - "t": "Mouwkop Y vooraan", - "d": "Bepaalt de plaatsing op de Y-as (verticaal) van het ankerpunt van het voorste deel van de mouwkop" - }, - "sleevecapQ1Offset": { - "t": "Mouwkop Q1 offset", - "d": "Bepaalt de kromming van de mouwkop in het eerste quadrant (armsgat vooraan)" - }, - "sleevecapQ2Offset": { - "t": "Mouwkop Q2 offset", - "d": "Bepaalt de kromming van de mouwkop in het tweede quadrant (schouder vooraan)" - }, - "sleevecapQ3Offset": { - "t": "Mouwkop Q3 offset", - "d": "Bepaalt de kromming van de mouwkop in het derde quadrant (schouder achteraan)" - }, - "sleevecapQ4Offset": { - "t": "Mouwkop Q4 offset", - "d": "Bepaalt de kromming van de mouwkop in het vierde quadrant (armsgat vooraan)" - }, - "sleevecapQ1Spread1": { - "t": "Mouwkop Q1 neerwaardse spreiding", - "d": "Bepaalt de spreiding van de kromming in het eerste quadrant van de mouwkop, in de richting van het armsgat" - }, - "sleevecapQ1Spread2": { - "t": "Mouwkop Q1 opwaardse spreiding", - "d": "Bepaalt de spreiding van de kromming in het eerste quadrant van de mouwkop, in de richting van de shouder" - }, - "sleevecapQ2Spread1": { - "t": "Mouwkop Q2 neerwaardse spreiding", - "d": "Bepaalt de spreiding van de kromming in het tweede quadrant van de mouwkop, in de richting van het armsgat" - }, - "sleevecapQ2Spread2": { - "t": "Mouwkop Q2 opwaardse spreiding", - "d": "Bepaalt de spreiding van de kromming in het tweede quadrant van de mouwkop, in de richting van de shouder" - }, - "sleevecapQ3Spread1": { - "t": "Mouwkop Q3 opwaardse spreiding", - "d": "Bepaalt de spreiding van de kromming in het derde quadrant van de mouwkop, in de richting van de shouder" - }, - "sleevecapQ3Spread2": { - "t": "Mouwkop Q3 neerwaardse spreiding", - "d": "Bepaalt de spreiding van de kromming in het derde quadrant van de mouwkop, in de richting van het armsgat" - }, - "sleevecapQ4Spread1": { - "t": "Mouwkop Q4 opwaardse spreiding", - "d": "Bepaalt de spreiding van de kromming in het vierde quadrant van de mouwkop, in de richting van de shouder" - }, - "sleevecapQ4Spread2": { - "t": "Mouwkop Q4 neerwaardse spreiding", - "d": "Bepaalt de spreiding van de kromming in het vierde quadrant van de mouwkop, in de richting van het armsgat" - }, - "sleeveWidthGuarantee": { - "t": "Gegarandeerde mouw breedte", - "d": "Bepaalt hoeveel van de mouwbreedte we garanderen wanneer we de mouw aan het armsgat aanpassen." - } - } -} diff --git a/designs/brian/i18n/uk.json b/designs/brian/i18n/uk.json deleted file mode 100644 index 10d357160d3..00000000000 --- a/designs/brian/i18n/uk.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "t": "Brian body block", - "d": "Brian is a basic body block for people without breasts.", - "p": { - "back": "Back", - "front": "Front", - "base": "Base", - "sleevecap": "Sleevecap", - "sleeve": "Sleeve" - }, - "s": {}, - "o": { - "acrossBackFactor": { - "t": "Across back factor", - "d": "Controls your across back width as a factor of your shoulder to shoulder measurement." - }, - "armholeDepthFactor": { - "t": "Armhole depth factor", - "d": "Controls the depth of the armhole. Higher values make a deeper armhole." - }, - "backNeckCutout": { - "t": "Back neck cutout", - "d": "How deep the neck is cut out at the back" - }, - "bicepsEase": { - "t": "Biceps ease", - "d": "The amount of ease at your upper arm. Note that while we try to respect this, fitting the sleeve to the armhole takes precedence over respecting the exact amount of ease." - }, - "collarEase": { - "t": "Collar ease", - "d": "The amount of ease around your neck" - }, - "chestEase": { - "t": "Chest ease", - "d": "The amount of ease at your chest." - }, - "cuffEase": { - "t": "Cuff ease", - "d": "The amount of ease at your wrist." - }, - "draftForHighBust": { - "t": "Draft for high bust", - "d": "Draft the pattern for the high bust measurement (if available) rather than the (full) chest. This will result in a more fitted garment for people with breasts." - }, - "frontArmholeDeeper": { - "t": "Front armhole extra cutout", - "d": "How much do you want the front armhole to be cut out deeper than the back." - }, - "lengthBonus": { - "t": "Length bonus", - "d": "The amount to lengthen the garment. A negative value will shorten it." - }, - "s3Collar": { - "t": "Shoulder seam shift: collar side", - "d": "Increase this option to shift the shoulder seam forward on the collar side. Decreasing it shifts it backwards." - }, - "s3Armhole": { - "t": "Shoulder seam shift: armhole side", - "d": "Increase this option to shift the shoulder seam forward on the armhole side. Decreasing it shifts it backwards." - }, - "shoulderEase": { - "t": "Shoulder ease", - "d": "The amount of ease at your shoulder. This increases the shoulder to shoulder distance to accommodate additional layers or thickness." - }, - "shoulderSlopeReduction": { - "t": "Shoulder slope reduction", - "d": "The amount by which the shoulder slope is reduced to allow for shoulder padding." - }, - "sleeveLengthBonus": { - "t": "Sleeve length bonus", - "d": "The amount to lengthen the sleeve. A negative value will shorten it." - }, - "sleevecapEase": { - "t": "Sleevecap ease", - "d": "The amount by which the sleevecap seam is longer than the armhole seam." - }, - "sleevecapTopFactorX": { - "t": "Sleevecap top X", - "d": "Controls the horizontal location of the sleevecap top." - }, - "sleevecapTopFactorY": { - "t": "Sleevecap top Y", - "d": "Controls the height of the sleevecap. A higher value results in a higher and more narrow sleevecap." - }, - "sleevecapBackFactorX": { - "t": "Sleevecap back X", - "d": "Controls the placement of the sleevecap back pitchpoint on the X-axis (horizontal)" - }, - "sleevecapBackFactorY": { - "t": "Sleevecap back Y", - "d": "Controls the placement of the sleevecap back pitchpoint on the Y-axis (vertical)" - }, - "sleevecapFrontFactorX": { - "t": "Sleevecap front X", - "d": "Controls the placement of the sleevecap front pitchpoint on the X-axis (horizontal)" - }, - "sleevecapFrontFactorY": { - "t": "Sleevecap front Y", - "d": "Controls the placement of the sleevecap front pitchpoint on the Y-axis (vertical)" - }, - "sleevecapQ1Offset": { - "t": "Sleevecap Q1 offset", - "d": "Controls the curvature of the sleevecap in the first quadrant (front armhole)" - }, - "sleevecapQ2Offset": { - "t": "Sleevecap Q2 offset", - "d": "Controls the curvature of the sleevecap in the second quadrant (front shoulder)" - }, - "sleevecapQ3Offset": { - "t": "Sleevecap Q3 offset", - "d": "Controls the curvature of the sleevecap in the third quadrant (back shoulder)" - }, - "sleevecapQ4Offset": { - "t": "Sleevecap Q4 offset", - "d": "Controls the curvature of the sleevecap in the fourth quadrant (back armhole)" - }, - "sleevecapQ1Spread1": { - "t": "Sleevecap Q1 downward spread", - "d": "Controls the spread of the sleevecap first quadrant curvature towards the armhole" - }, - "sleevecapQ1Spread2": { - "t": "Sleevecap Q1 upward spread", - "d": "Controls the spread of the sleevecap first quadrant curvature towards the shoulder" - }, - "sleevecapQ2Spread1": { - "t": "Sleevecap Q2 downward spread", - "d": "Controls the spread of the sleevecap second quadrant curvature towards the armhole" - }, - "sleevecapQ2Spread2": { - "t": "Sleevecap Q2 upward spread", - "d": "Controls the spread of the sleevecap second quadrant curvature towards the shoulder" - }, - "sleevecapQ3Spread1": { - "t": "Sleevecap Q3 upward spread", - "d": "Controls the spread of the sleevecap third quadrant curvature towards the shoulder" - }, - "sleevecapQ3Spread2": { - "t": "Sleevecap Q3 downward spread", - "d": "Controls the spread of the sleevecap third quadrant curvature towards the armhole" - }, - "sleevecapQ4Spread1": { - "t": "Sleevecap Q4 upward spread", - "d": "Controls the spread of the sleevecap fourth quadrant curvature towards the shoulder" - }, - "sleevecapQ4Spread2": { - "t": "Sleevecap Q4 downward spread", - "d": "Controls the spread of the sleevecap fourth quadrant curvature towards the armhole" - }, - "sleeveWidthGuarantee": { - "t": "Sleeve width guarantee", - "d": "Controls how much of the sleeve width will be guaranteed. This determines how much we can alter the sleeve width to fit the sleeve in the armhole." - } - } -} diff --git a/designs/brian/package.json b/designs/brian/package.json index eb76ff2d8aa..dc0819b8231 100644 --- a/designs/brian/package.json +++ b/designs/brian/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/brian", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a basic body block for menswear", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,49 +25,40 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/plugin-bust": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/brian/src/base.mjs b/designs/brian/src/base.mjs index 3883fb07b42..c96ebfc1f7c 100644 --- a/designs/brian/src/base.mjs +++ b/designs/brian/src/base.mjs @@ -1,4 +1,5 @@ import { bustPlugin } from '@freesewing/plugin-bust' +import { pctBasedOn } from '@freesewing/core' export const base = { name: 'brian.base', @@ -21,15 +22,15 @@ export const base = { brianFitCollar: true, collarFactor: 4.8, // Fit - bicepsEase: { pct: 15, min: 0, max: 50, menu: 'fit' }, - chestEase: { pct: 15, min: -4, max: 35, menu: 'fit' }, - collarEase: { pct: 5, min: 0, max: 10, menu: 'fit' }, - cuffEase: { pct: 20, min: 0, max: 200, menu: 'fit' }, + bicepsEase: { pct: 15, min: 0, max: 50, ...pctBasedOn('biceps'), menu: 'fit' }, + chestEase: { pct: 15, min: -4, max: 35, ...pctBasedOn('chest'), menu: 'fit' }, + collarEase: { pct: 5, min: 0, max: 10, ...pctBasedOn('neck'), menu: 'fit' }, + cuffEase: { pct: 20, min: 0, max: 200, ...pctBasedOn('wrist'), menu: 'fit' }, draftForHighBust: { bool: false, menu: (settings) => (settings?.measurements?.highBust ? 'fit' : false), }, - shoulderEase: { pct: 0, min: -2, max: 6, menu: 'fit' }, + shoulderEase: { pct: 0, min: -2, max: 6, ...pctBasedOn('shoulderToShoulder'), menu: 'fit' }, // Style lengthBonus: { pct: 0, min: -4, max: 60, menu: 'style' }, s3Collar: { pct: 0, min: -100, max: 100, menu: 'style' }, diff --git a/designs/brian/src/index.mjs b/designs/brian/src/index.mjs index 62207631f97..0f01969ae2d 100644 --- a/designs/brian/src/index.mjs +++ b/designs/brian/src/index.mjs @@ -1,6 +1,6 @@ import { Design } from '@freesewing/core' import { i18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { back } from './back.mjs' import { front } from './front.mjs' import { sleeve } from './sleeve.mjs' @@ -10,9 +10,9 @@ import { sleevecap } from './sleevecap.mjs' // Setup our new design const Brian = new Design({ - data, + data: about, parts: [back, front, sleeve], }) // Named exports -export { back, front, sleeve, base, sleevecap, Brian, i18n } +export { back, front, sleeve, base, sleevecap, Brian, i18n, about } diff --git a/designs/brian/tests/shared.test.mjs b/designs/brian/tests/shared.test.mjs index 38c4b3188d5..90b01cb6cda 100644 --- a/designs/brian/tests/shared.test.mjs +++ b/designs/brian/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Brian, i18n } from '../src/index.mjs' +import { Brian, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Brian) +testPatternConfig(Brian, about) // Test translation testPatternI18n(Brian, i18n) diff --git a/designs/bruce/README.md b/designs/bruce/README.md index 1310f1c609c..1807e8c8419 100644 --- a/designs/bruce/README.md +++ b/designs/bruce/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:bruce - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/bruce @@ -59,7 +44,7 @@ A FreeSewing pattern for boxer briefs > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/bruce/data.mjs b/designs/bruce/data.mjs deleted file mode 100644 index c775637a242..00000000000 --- a/designs/bruce/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/bruce' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/bruce/i18n/de.json b/designs/bruce/i18n/de.json deleted file mode 100644 index 7f6b45c79ad..00000000000 --- a/designs/bruce/i18n/de.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "t": "Bruce, die Retroshorts", - "d": "Bruce sind bequeme und stylische Retroshorts.", - "p": { - "back": "Rückseite", - "front": "Vorderseite", - "inset": "Einsatz", - "side": "Seite" - }, - "s": {}, - "o": { - "bulge": { - "t": "Wölbung", - "d": "Vergrößert den Winkel, um mehr Platz in der vorderen Tasche zu schaffen." - }, - "legBonus": { - "t": "Beinlängen-Bonus", - "d": "Zusätzliche Länge für die Beine." - }, - "rise": { - "t": "Anstieg", - "d": "Betrag, um den die Taille angehoben wird. Ein negativer Wert senkt sie ab." - }, - "stretch": { - "t": "Dehnung", - "d": "Die Menge an negativer Bewegungszugabe." - }, - "legStretch": { - "t": "Bein Dehnung", - "d": "Das beste Ergebnis erzielst du, wenn du den Sitz der Beine etwas enger machst — Sag Nein zu klaffenden Lücken." - }, - "backRise": { - "t": "Hintere Anstieg", - "d": "Betrag, um den die Taille hinten angehoben wird." - } - } -} diff --git a/designs/bruce/i18n/es.json b/designs/bruce/i18n/es.json deleted file mode 100644 index 0210f9878ff..00000000000 --- a/designs/bruce/i18n/es.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "t": "Bruce, calzoncillos bóxer", - "d": "Bruce es un bóxer cerrado cómodo y elegante.", - "p": { - "back": "Atrás", - "backBase": "Base trasera", - "backPocketWelt": "Ribete del bolsillo trasero", - "base": "Base", - "bentBack": "Trasero Bent", - "bentBase": "Base Bent", - "bentFront": "Frente Bent", - "bentSleeve": "Manga Bent", - "bentTopSleeve": "Manga superior Bent", - "bentUnderSleeve": "Manga debajo Bent", - "buttonholePlacket": "Tapeta de ojal", - "buttonPlacket": "Tapeta de botones", - "collar": "Cuello", - "collarStand": "Soporte de collar", - "cuff": "Cuffnl", - "fabricTail": "Cola de tela", - "fabricTip": "Punta de tela", - "frontBase": "Base delantera", - "frontFacing": "Delantero mirando hacia", - "front": "Frente", - "frontLeft": "Delantero izquierdo", - "frontLining": "Delantero revestimiento", - "frontRight": "Frente derecho", - "gusset": "Gusset", - "hoodCenter": "Centro de la capucha", - "hood": "Capucha", - "hoodSide": "Lado de la capucha", - "inset": "Recuadro", - "interfacingTail": "Cola de entretela", - "interfacingTip": "Punta de entretela", - "liningTail": "Cola de revestimiento", - "liningTip": "Punta de revestimiento", - "loop": "Lazo", - "panel1": "Panel 1", - "panel2": "Panel 2", - "panel3": "Panel 3", - "panel4": "Panel 4", - "panel5": "Panel 5", - "panel6": "Panel 6", - "panels": "Paneles", - "pocketBag": "Bolsa de bolsillo", - "pocketFacing": "Cara de bolsillo", - "pocketInterfacing": "Entretela de bolsillo", - "pocket": "Bolsillo", - "pocketWelt": "Ribete de bolsillo", - "side": "Lado", - "sleeveBase": "Base de la manga", - "sleevecap": "Funda de manga", - "sleevePlacketOverlap": "Top de manga tapeta", - "sleevePlacketUnderlap": "Parte inferior de la tapeta de la manga", - "sleeve": "Manga", - "topSleeve": "Manga superior", - "top": "Arriba", - "underCollar": "Debajo del cuello", - "underSleeve": "Manga debajo", - "waistband": "Pretina", - "yoke": "Yugo" - }, - "s": { - "inset": "Encarte", - "side": "Lado" - }, - "o": { - "bulge": { - "t": "Bulto", - "d": "Incrementar el ángulo para crear más espacio en el bolsillo delantero." - }, - "legBonus": { - "t": "Extra de longitud de pierna", - "d": "La longitud extra a añadir a las perneras." - }, - "rise": { - "t": "Elevación de la cintura", - "d": "La cantidad a elevar la cintura. Valores negativos la bajan." - }, - "stretch": { - "t": "Extensión", - "d": "La cantidad de holgura negativa." - }, - "legStretch": { - "t": "Estiramiento de la pernera", - "d": "Para mejores resultados, junta tus piernas más; di no a los huecos." - }, - "backRise": { - "t": "Elevación de la espalda", - "d": "Porcentaje en el que la cintura se elevará en la espalda." - } - } -} diff --git a/designs/bruce/i18n/fr.json b/designs/bruce/i18n/fr.json deleted file mode 100644 index 0eca5c7e0df..00000000000 --- a/designs/bruce/i18n/fr.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "t": "Boxer Bruce", - "d": "Bruce est un boxer confortable et élégant.", - "p": { - "back": "Retour", - "front": "Avant", - "inset": "Encart", - "side": "Côté" - }, - "s": {}, - "o": { - "bulge": { - "t": "Renflement", - "d": "Augmentez l'angle pour créer plus d'espace dans la poche avant." - }, - "legBonus": { - "t": "Bonus de longueur de jambes", - "d": "Longueur supplémentaire à ajouter aux jambes." - }, - "rise": { - "t": "Élévation de ceinture", - "d": "Montant d'élévation pour la ceinture vers la taille. Une valeur négative l'abaissera." - }, - "stretch": { - "t": "Élasticité", - "d": "La quantité d'aisance négative." - }, - "legStretch": { - "t": "Élasticité des jambes", - "d": "Pour de meilleurs résultats, vous souhaitez ajuster vos jambes plus étroites - choisissez non à l'écart." - }, - "backRise": { - "t": "Élévation arrière", - "d": "Pourcentage selon lequel la taille sera relevée à l'arrière." - } - } -} diff --git a/designs/bruce/i18n/index.mjs b/designs/bruce/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/bruce/i18n/index.mjs +++ b/designs/bruce/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/bruce/i18n/nl.json b/designs/bruce/i18n/nl.json deleted file mode 100644 index 1cd3e0ddb6a..00000000000 --- a/designs/bruce/i18n/nl.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "t": "Bruce boxershort", - "d": "Bruce is een boxershort die zowel comfortabel als stylish is.", - "p": { - "back": "Achterzijde", - "frontFacing": "Beleg vooraan", - "inset": "Inzet", - "side": "Zijkant" - }, - "s": {}, - "o": { - "bulge": { - "t": "Kruisstuk", - "d": "Maak de hoek groter voor meer ruimte in het kruisstuk." - }, - "legBonus": { - "t": "Bonus beenlengte", - "d": "Extra lengte om aan de benen toe te voegen." - }, - "rise": { - "t": "Hoogte", - "d": "Hoeveelheid waarmee de taille verhoogd wordt. Een negatieve waarde zal de taille verlagen." - }, - "stretch": { - "t": "Rek", - "d": "Hoeveel kleiner de omtrek is dan je lichaamsmaten. In andere woorden, hoe strak alles zit." - }, - "legStretch": { - "t": "Stretch pijp", - "d": "For best results, you want to fit your legs a bit more snugly — say no to gaping." - }, - "backRise": { - "t": "Hoogte achter", - "d": "Het percentage waarmee de taille verhoogd wordt aan de rug." - } - } -} diff --git a/designs/bruce/i18n/uk.json b/designs/bruce/i18n/uk.json deleted file mode 100644 index 2b4cfe967bc..00000000000 --- a/designs/bruce/i18n/uk.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "t": "Bruce boxer briefs", - "d": "Bruce are comfortable yet stylish boxer briefs.", - "p": { - "back": "Back", - "front": "Front", - "inset": "Inset", - "side": "Side" - }, - "s": {}, - "o": { - "bulge": { - "t": "Bulge", - "d": "Increase angle to create more room in the front pouch." - }, - "legBonus": { - "t": "Leg length bonus", - "d": "Extra length to add to the legs." - }, - "rise": { - "t": "Rise", - "d": "Amount to raise the waist. A negative value will lower it." - }, - "stretch": { - "t": "Stretch", - "d": "The amount of negative ease." - }, - "legStretch": { - "t": "Leg stretch", - "d": "For best results, you want to fit your legs a bit more snugly — say no to gaping." - }, - "backRise": { - "t": "Back rise", - "d": "Percentage by which the waist will be raised at the back." - } - } -} diff --git a/designs/bruce/package.json b/designs/bruce/package.json index f850a02162f..550ab2c7a0b 100644 --- a/designs/bruce/package.json +++ b/designs/bruce/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/bruce", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for boxer briefs", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/bruce/src/index.mjs b/designs/bruce/src/index.mjs index e75806df5a9..061d09753b0 100644 --- a/designs/bruce/src/index.mjs +++ b/designs/bruce/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { back } from './back.mjs' import { side } from './side.mjs' import { front } from './front.mjs' @@ -8,9 +8,9 @@ import { i18n } from '../i18n/index.mjs' // Create design const Bruce = new Design({ - data, + data: about, parts: [back, side, front, inset], }) // Named exports -export { back, side, front, inset, Bruce, i18n } +export { back, side, front, inset, Bruce, i18n, about } diff --git a/designs/bruce/tests/shared.test.mjs b/designs/bruce/tests/shared.test.mjs index 34dad324136..7bf29d903c1 100644 --- a/designs/bruce/tests/shared.test.mjs +++ b/designs/bruce/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Bruce, i18n } from '../src/index.mjs' +import { Bruce, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Bruce) +testPatternConfig(Bruce, about) // Test translation testPatternI18n(Bruce, i18n) diff --git a/designs/carlita/README.md b/designs/carlita/README.md index e106b8be990..7219d93ab43 100644 --- a/designs/carlita/README.md +++ b/designs/carlita/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:carlita - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/carlita @@ -59,7 +44,7 @@ A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/carlita/data.mjs b/designs/carlita/data.mjs deleted file mode 100644 index 3fac9984623..00000000000 --- a/designs/carlita/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/carlita' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/carlita/i18n/de.json b/designs/carlita/i18n/de.json deleted file mode 100644 index ab83f33b366..00000000000 --- a/designs/carlita/i18n/de.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "t": "Carlita, der Mantel", - "d": "Die Version für Brüste unseres Carlton-Mantels, aka Sherlock Holmes-Mantel.", - "p": { - "front": "Vorderseite", - "side": "Seite" - }, - "s": {}, - "o": { - "contour": { - "t": "Kontur", - "d": "Legt fest, wie stark figurbetont die Wiener Nähte sind." - } - } -} diff --git a/designs/carlita/i18n/es.json b/designs/carlita/i18n/es.json deleted file mode 100644 index d46ed7507f2..00000000000 --- a/designs/carlita/i18n/es.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "t": "Carlita, abrigo", - "d": "La versión para gente con pechos de nuestro abrigo Carlton, también conocido como el abrigo de Sherlock Holmes.", - "p": { - "front": "Frente", - "side": "Lado" - }, - "s": {}, - "o": { - "contour": { - "t": "Contorno", - "d": "Controla cómo de abrubtamente se ajustan las costuras princesa." - } - } -} diff --git a/designs/carlita/i18n/fr.json b/designs/carlita/i18n/fr.json deleted file mode 100644 index 6214b4c2d63..00000000000 --- a/designs/carlita/i18n/fr.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "t": "Manteau Carlita", - "d": "La version pour les seins de notre manteau Carlton, aka manteau Sherlock Holmes.", - "p": { - "front": "Avant", - "side": "Côté" - }, - "s": {}, - "o": { - "contour": { - "t": "Contour", - "d": "Contrôle à quel point la courbe de la découpe princesse sera saillante ou adoucie." - } - } -} diff --git a/designs/carlita/i18n/index.mjs b/designs/carlita/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/carlita/i18n/index.mjs +++ b/designs/carlita/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/carlita/i18n/nl.json b/designs/carlita/i18n/nl.json deleted file mode 100644 index 0fdbc90da86..00000000000 --- a/designs/carlita/i18n/nl.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "t": "Carlita jas", - "d": "De versie voor borsten van onze Carlton jas, aka Sherlock Holmes jas.", - "p": { - "front": "Voorzijde", - "side": "Zijkant" - }, - "s": {}, - "o": { - "contour": { - "t": "Contour", - "d": "Controleert hoe nauw de prinsessennaad aansluit." - } - } -} diff --git a/designs/carlita/i18n/uk.json b/designs/carlita/i18n/uk.json deleted file mode 100644 index 5d822aef5ee..00000000000 --- a/designs/carlita/i18n/uk.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "t": "Carlita coat", - "d": "The version for breasts of our Carlton coat, aka Sherlock Holmes coat.", - "p": { - "front": "Front", - "side": "Side" - }, - "s": {}, - "o": { - "contour": { - "t": "Contour", - "d": "Controls how sharply the princess seam is contoured." - } - } -} diff --git a/designs/carlita/package.json b/designs/carlita/package.json index fe52755ef0e..66484aad7d3 100644 --- a/designs/carlita/package.json +++ b/designs/carlita/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/carlita", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,52 +25,43 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/brian": "3.3.0-rc.1", - "@freesewing/bent": "3.3.0-rc.1", - "@freesewing/carlton": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/brian": "4.0.0", + "@freesewing/bent": "4.0.0", + "@freesewing/carlton": "4.0.0", + "@freesewing/plugin-bust": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/carlita/src/index.mjs b/designs/carlita/src/index.mjs index c404e8e1724..cb58aeadf85 100644 --- a/designs/carlita/src/index.mjs +++ b/designs/carlita/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { front } from './front.mjs' import { side } from './side.mjs' import { frontFacing } from './front-facing.mjs' @@ -28,7 +28,7 @@ import { i18n as carlitaI18n } from '../i18n/index.mjs' // Create new design const Carlita = new Design({ - data, + data: about, parts: [ front, frontFacing, @@ -82,4 +82,5 @@ export { innerPocketTab, Carlita, i18n, + about, } diff --git a/designs/carlita/tests/shared.test.mjs b/designs/carlita/tests/shared.test.mjs index 8235ca28566..ca6b8c56484 100644 --- a/designs/carlita/tests/shared.test.mjs +++ b/designs/carlita/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Carlita, i18n } from '../src/index.mjs' +import { Carlita, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Carlita) +testPatternConfig(Carlita, about) // Test translation testPatternI18n(Carlita, i18n) diff --git a/designs/carlton/README.md b/designs/carlton/README.md index a85ae2b3abc..9ada2d0e17f 100644 --- a/designs/carlton/README.md +++ b/designs/carlton/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:carlton - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/carlton @@ -59,7 +44,7 @@ A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/carlton/data.mjs b/designs/carlton/data.mjs deleted file mode 100644 index 56a947daa0c..00000000000 --- a/designs/carlton/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/carlton' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/carlton/i18n/de.json b/designs/carlton/i18n/de.json deleted file mode 100644 index f216636c143..00000000000 --- a/designs/carlton/i18n/de.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "t": "Carlton, der Mantel", - "d": "Für Sherlock Holmes-Cosplay, oder nur als wirklich netter Mantel.", - "p": { - "back": "Back", - "belt": "Belt", - "chestPocketWelt": "Chest pocket welt", - "chestPocketBag": "Chest pocket bag", - "collar": "Collar", - "collarStand": "Collar stand", - "cuffFacing": "Cuff facing", - "front": "Front", - "innerPocketBag": "Inner pocket bag", - "innerPocketTab": "Inner pocket tab", - "innerPocketWelt": "Inner pocket welt", - "pocketFlap": "Pocket flap", - "pocketLining": "Pocket lining", - "pocket": "Pocket", - "tail": "Tail", - "topSleeve": "Topsleeve", - "underSleeve": "Undersleeve" - }, - "s": {}, - "o": { - "seatEase": { - "t": "Hüftzugabe", - "d": "Menge an Bequemlichkeits-/Bewegungszugabe an deinem Hintern" - }, - "pocketPlacementHorizontal": { - "t": "Horizontale Taschenplatzierung", - "d": "Die (horizontale) Position der Taschen" - }, - "pocketPlacementVertical": { - "t": "Vertikale Taschenplatzierung", - "d": "Die (vertikale) Position der Taschen" - }, - "collarHeight": { - "t": "Kragenhöhe", - "d": "Höhe des Kragens" - }, - "length": { - "t": "Länge", - "d": "Gesamtlänge" - }, - "pocketFlapRadius": { - "t": "Taschenlaschenradius", - "d": "Der Betrag, um den die Taschenlasche abgerundet ist" - }, - "pocketRadius": { - "t": "Taschenradius", - "d": "Der Betrag, um den die Tasche abgerundet ist" - }, - "chestPocketHeight": { - "t": "Brusttaschenhöhe", - "d": "Höhe der Brusttasche" - }, - "beltWidth": { - "t": "Gürteilbreite", - "d": "Breite des Gürtels" - }, - "buttonSpacingHorizontal": { - "t": "Horizontaler Knopfabstand", - "d": "Horizontaler Abstand der Knöpfe, bestimmt auch den Übertritt des vorderen Verschlusses" - }, - "lapelReduction": { - "t": "Lapel reduction", - "d": "Controls how much the lapel tip goes inwards." - }, - "frontOverlap": { - "t": "Front overlap", - "d": "Controls how much the right and left front of the garment overlap at the center front." - }, - "pocketHeight": { - "t": "Pocket height", - "d": "Controls the height of the front pockets" - }, - "pocketWidth": { - "t": "Pocket width", - "d": "Controls the width of the front pockets" - }, - "chestPocketPlacement": { - "t": "Chest pocket placement", - "d": "Controls the location of the chest pocket." - }, - "chestPocketAngle": { - "t": "Chest pocket angle", - "d": "Controls the slant of the chest pocket." - }, - "chestPocketWidth": { - "t": "Chest pocket width", - "d": "Controls the width of the chest pocket." - }, - "innerPocketPlacement": { - "t": "Inner pocket placement", - "d": "Controls the location of the inner pocket." - }, - "innerPocketDepth": { - "t": "Inner pocket depth", - "d": "Controls the depth of the inner pocket." - }, - "innerPocketWidth": { - "t": "Inner pocket width", - "d": "Controls the width of the inner pocket." - }, - "innerPocketWeltHeight": { - "t": "Inner pocket welt height", - "d": "Controls the height of the inner pocket welts." - }, - "sleeveBend": { - "t": "Sleeve bend", - "d": "The angle of the sleeve at the elbow." - }, - "sleevecapHeight": { - "t": "Sleevecap height", - "d": "Controls the height of the sleevecap." - }, - "sleevecapEase": { - "t": "Sleevecap ease", - "d": "Controls the amount of sleevecap ease." - }, - "cuffLength": { - "t": "Cuff length", - "d": "Controls the length (height if you wish) of the cuffs." - }, - "collarFlare": { - "t": "Collar flare", - "d": "Controls the flare of the collar by altering the fall length (between the neck and the tips) of the collar." - }, - "collarSpread": { - "t": "Collar spread", - "d": "Controls how close the collar lies to the neck." - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at your waist." - } - } -} diff --git a/designs/carlton/i18n/es.json b/designs/carlton/i18n/es.json deleted file mode 100644 index b5bab27ec77..00000000000 --- a/designs/carlton/i18n/es.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "t": "Carlton, abrigo", - "d": "Para un cosplay de Sherlock Holms, o simplemente un abrigo muy bonito.", - "p": { - "back": "Back", - "belt": "Belt", - "chestPocketWelt": "Chest pocket welt", - "chestPocketBag": "Chest pocket bag", - "collar": "Collar", - "collarStand": "Collar stand", - "cuffFacing": "Cuff facing", - "front": "Front", - "innerPocketBag": "Inner pocket bag", - "innerPocketTab": "Inner pocket tab", - "innerPocketWelt": "Inner pocket welt", - "pocketFlap": "Pocket flap", - "pocketLining": "Pocket lining", - "pocket": "Pocket", - "tail": "Tail", - "topSleeve": "Topsleeve", - "underSleeve": "Undersleeve" - }, - "s": {}, - "o": { - "seatEase": { - "t": "Holgura de asiento", - "d": "Cantidad de facilidad alrededor de tu trasero" - }, - "pocketPlacementHorizontal": { - "t": "Colocación horizontal del bolsillo", - "d": "La ubicación (horizontal) de los bolsillos" - }, - "pocketPlacementVertical": { - "t": "Colocación vertical del bolsillo", - "d": "La ubicación (vertical) de los bolsillos" - }, - "collarHeight": { - "t": "Altura del cuello", - "d": "Altura del cuello" - }, - "length": { - "t": "Longitud", - "d": "Largo total" - }, - "pocketFlapRadius": { - "t": "Radio de la tapa del bolsillo", - "d": "La cantidad por la cual se redondea la solapa del bolsillo" - }, - "pocketRadius": { - "t": "Radio de bolsillo", - "d": "La cantidad por la cual se redondea el bolsillo" - }, - "chestPocketHeight": { - "t": "Altura del bolsillo pecho", - "d": "Altura del bolsillo del pecho" - }, - "beltWidth": { - "t": "Ancho del cinturón", - "d": "Ancho del cinturón" - }, - "buttonSpacingHorizontal": { - "t": "Espaciado horizontal de los botones", - "d": "El espaciado horizontal de los botones, también determina la superposición del cierre frontal" - }, - "lapelReduction": { - "t": "Lapel reduction", - "d": "Controls how much the lapel tip goes inwards." - }, - "frontOverlap": { - "t": "Front overlap", - "d": "Controls how much the right and left front of the garment overlap at the center front." - }, - "pocketHeight": { - "t": "Pocket height", - "d": "Controls the height of the front pockets" - }, - "pocketWidth": { - "t": "Pocket width", - "d": "Controls the width of the front pockets" - }, - "chestPocketPlacement": { - "t": "Chest pocket placement", - "d": "Controls the location of the chest pocket." - }, - "chestPocketAngle": { - "t": "Chest pocket angle", - "d": "Controls the slant of the chest pocket." - }, - "chestPocketWidth": { - "t": "Chest pocket width", - "d": "Controls the width of the chest pocket." - }, - "innerPocketPlacement": { - "t": "Inner pocket placement", - "d": "Controls the location of the inner pocket." - }, - "innerPocketDepth": { - "t": "Inner pocket depth", - "d": "Controls the depth of the inner pocket." - }, - "innerPocketWidth": { - "t": "Inner pocket width", - "d": "Controls the width of the inner pocket." - }, - "innerPocketWeltHeight": { - "t": "Inner pocket welt height", - "d": "Controls the height of the inner pocket welts." - }, - "sleeveBend": { - "t": "Sleeve bend", - "d": "The angle of the sleeve at the elbow." - }, - "sleevecapHeight": { - "t": "Sleevecap height", - "d": "Controls the height of the sleevecap." - }, - "sleevecapEase": { - "t": "Sleevecap ease", - "d": "Controls the amount of sleevecap ease." - }, - "cuffLength": { - "t": "Cuff length", - "d": "Controls the length (height if you wish) of the cuffs." - }, - "collarFlare": { - "t": "Collar flare", - "d": "Controls the flare of the collar by altering the fall length (between the neck and the tips) of the collar." - }, - "collarSpread": { - "t": "Collar spread", - "d": "Controls how close the collar lies to the neck." - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at your waist." - } - } -} diff --git a/designs/carlton/i18n/fr.json b/designs/carlton/i18n/fr.json deleted file mode 100644 index 612f0bb28b0..00000000000 --- a/designs/carlton/i18n/fr.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "t": "Manteau Carlton", - "d": "Pour le cosplay de Sherlock Holmes, ou juste un très beau manteau.", - "p": { - "back": "Back", - "belt": "Belt", - "chestPocketWelt": "Chest pocket welt", - "chestPocketBag": "Chest pocket bag", - "collar": "Collar", - "collarStand": "Collar stand", - "cuffFacing": "Cuff facing", - "front": "Front", - "innerPocketBag": "Inner pocket bag", - "innerPocketTab": "Inner pocket tab", - "innerPocketWelt": "Inner pocket welt", - "pocketFlap": "Pocket flap", - "pocketLining": "Pocket lining", - "pocket": "Pocket", - "tail": "Tail", - "topSleeve": "Topsleeve", - "underSleeve": "Undersleeve" - }, - "s": {}, - "o": { - "seatEase": { - "t": "Aisance d'assise", - "d": "Quantité d'aisance autour de vos fesses" - }, - "pocketPlacementHorizontal": { - "t": "Placement horizontal des poches", - "d": "L'emplacement (horizontal) des poches" - }, - "pocketPlacementVertical": { - "t": "Placement vertical des poches", - "d": "L'emplacement (vertical) des poches" - }, - "collarHeight": { - "t": "Hauteur du col", - "d": "Hauteur du col" - }, - "length": { - "t": "Longueur", - "d": "Longueur totale" - }, - "pocketFlapRadius": { - "t": "Angle de rabat de poche", - "d": "Le montant par lequel le rabat de poche est arrondi" - }, - "pocketRadius": { - "t": "Arrondi de poche", - "d": "Le montant par lequel la poche est arrondie" - }, - "chestPocketHeight": { - "t": "Hauteur de la poche de poitrine", - "d": "Hauteur de la poche de poitrine" - }, - "beltWidth": { - "t": "Largeur de ceinture", - "d": "Largeur de ceinture" - }, - "buttonSpacingHorizontal": { - "t": "Espacement horizontal des boutons", - "d": "L'espacement horizontal des boutons détermine également le chevauchement de la fermeture avant" - }, - "lapelReduction": { - "t": "Lapel reduction", - "d": "Controls how much the lapel tip goes inwards." - }, - "frontOverlap": { - "t": "Front overlap", - "d": "Controls how much the right and left front of the garment overlap at the center front." - }, - "pocketHeight": { - "t": "Pocket height", - "d": "Controls the height of the front pockets" - }, - "pocketWidth": { - "t": "Pocket width", - "d": "Controls the width of the front pockets" - }, - "chestPocketPlacement": { - "t": "Chest pocket placement", - "d": "Controls the location of the chest pocket." - }, - "chestPocketAngle": { - "t": "Chest pocket angle", - "d": "Controls the slant of the chest pocket." - }, - "chestPocketWidth": { - "t": "Chest pocket width", - "d": "Controls the width of the chest pocket." - }, - "innerPocketPlacement": { - "t": "Inner pocket placement", - "d": "Controls the location of the inner pocket." - }, - "innerPocketDepth": { - "t": "Inner pocket depth", - "d": "Controls the depth of the inner pocket." - }, - "innerPocketWidth": { - "t": "Inner pocket width", - "d": "Controls the width of the inner pocket." - }, - "innerPocketWeltHeight": { - "t": "Inner pocket welt height", - "d": "Controls the height of the inner pocket welts." - }, - "sleeveBend": { - "t": "Sleeve bend", - "d": "The angle of the sleeve at the elbow." - }, - "sleevecapHeight": { - "t": "Sleevecap height", - "d": "Controls the height of the sleevecap." - }, - "sleevecapEase": { - "t": "Sleevecap ease", - "d": "Controls the amount of sleevecap ease." - }, - "cuffLength": { - "t": "Cuff length", - "d": "Controls the length (height if you wish) of the cuffs." - }, - "collarFlare": { - "t": "Collar flare", - "d": "Controls the flare of the collar by altering the fall length (between the neck and the tips) of the collar." - }, - "collarSpread": { - "t": "Collar spread", - "d": "Controls how close the collar lies to the neck." - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at your waist." - } - } -} diff --git a/designs/carlton/i18n/index.mjs b/designs/carlton/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/carlton/i18n/index.mjs +++ b/designs/carlton/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/carlton/i18n/nl.json b/designs/carlton/i18n/nl.json deleted file mode 100644 index c0c9387ec28..00000000000 --- a/designs/carlton/i18n/nl.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "t": "Carlton jas", - "d": "Voor als je Sherlock Holmes wil spelen, of gewoon een heel mooie jas zoekt.", - "p": { - "back": "Back", - "belt": "Belt", - "chestPocketWelt": "Chest pocket welt", - "chestPocketBag": "Chest pocket bag", - "collar": "Collar", - "collarStand": "Collar stand", - "cuffFacing": "Cuff facing", - "front": "Front", - "innerPocketBag": "Inner pocket bag", - "innerPocketTab": "Inner pocket tab", - "innerPocketWelt": "Inner pocket welt", - "pocketFlap": "Pocket flap", - "pocketLining": "Pocket lining", - "pocket": "Pocket", - "tail": "Tail", - "topSleeve": "Topsleeve", - "underSleeve": "Undersleeve" - }, - "s": {}, - "o": { - "seatEase": { - "t": "Overwijdte zitvlak", - "d": "De hoeveelheid overwijdte aan je zitvlak" - }, - "pocketPlacementHorizontal": { - "t": "Plaatsing zakken (horizontaal)", - "d": "De horizontale plaatsing van de zakken" - }, - "pocketPlacementVertical": { - "t": "Plaatsing zakken (verticaal)", - "d": "De verticale plaatsing van de zakken" - }, - "collarHeight": { - "t": "Hoogte kraag", - "d": "De hoogte van de kraag" - }, - "length": { - "t": "Lengte", - "d": "De totale lengte" - }, - "pocketFlapRadius": { - "t": "Ronding zak flap", - "d": "De mate waarin de flap van de zak is afgerond" - }, - "pocketRadius": { - "t": "Ronding zak", - "d": "De mate waarin de zak is afgerond" - }, - "chestPocketHeight": { - "t": "Hoogte borstzak", - "d": "De hoogte van de borstzak" - }, - "beltWidth": { - "t": "Breedte riem", - "d": "De breedte van de riem" - }, - "buttonSpacingHorizontal": { - "t": "Spreiding knopen horizontaal", - "d": "De spreiding van de knopen horizontaal. Bepaalt ook de mate waarin de sluiting vooraan overlapt" - }, - "lapelReduction": { - "t": "Lapel reduction", - "d": "Controls how much the lapel tip goes inwards." - }, - "frontOverlap": { - "t": "Front overlap", - "d": "Controls how much the right and left front of the garment overlap at the center front." - }, - "pocketHeight": { - "t": "Pocket height", - "d": "Controls the height of the front pockets" - }, - "pocketWidth": { - "t": "Pocket width", - "d": "Controls the width of the front pockets" - }, - "chestPocketPlacement": { - "t": "Chest pocket placement", - "d": "Controls the location of the chest pocket." - }, - "chestPocketAngle": { - "t": "Chest pocket angle", - "d": "Controls the slant of the chest pocket." - }, - "chestPocketWidth": { - "t": "Chest pocket width", - "d": "Controls the width of the chest pocket." - }, - "innerPocketPlacement": { - "t": "Inner pocket placement", - "d": "Controls the location of the inner pocket." - }, - "innerPocketDepth": { - "t": "Inner pocket depth", - "d": "Controls the depth of the inner pocket." - }, - "innerPocketWidth": { - "t": "Inner pocket width", - "d": "Controls the width of the inner pocket." - }, - "innerPocketWeltHeight": { - "t": "Inner pocket welt height", - "d": "Controls the height of the inner pocket welts." - }, - "sleeveBend": { - "t": "Sleeve bend", - "d": "The angle of the sleeve at the elbow." - }, - "sleevecapHeight": { - "t": "Sleevecap height", - "d": "Controls the height of the sleevecap." - }, - "sleevecapEase": { - "t": "Sleevecap ease", - "d": "Controls the amount of sleevecap ease." - }, - "cuffLength": { - "t": "Cuff length", - "d": "Controls the length (height if you wish) of the cuffs." - }, - "collarFlare": { - "t": "Collar flare", - "d": "Controls the flare of the collar by altering the fall length (between the neck and the tips) of the collar." - }, - "collarSpread": { - "t": "Collar spread", - "d": "Controls how close the collar lies to the neck." - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at your waist." - } - } -} diff --git a/designs/carlton/i18n/uk.json b/designs/carlton/i18n/uk.json deleted file mode 100644 index 096185c767c..00000000000 --- a/designs/carlton/i18n/uk.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "t": "Carlton coat", - "d": "For Sherlock Holmes cosplay, or just a really nice coat.", - "p": { - "back": "Back", - "belt": "Belt", - "chestPocketWelt": "Chest pocket welt", - "chestPocketBag": "Chest pocket bag", - "collar": "Collar", - "collarStand": "Collar stand", - "cuffFacing": "Cuff facing", - "front": "Front", - "innerPocketBag": "Inner pocket bag", - "innerPocketTab": "Inner pocket tab", - "innerPocketWelt": "Inner pocket welt", - "pocketFlap": "Pocket flap", - "pocketLining": "Pocket lining", - "pocket": "Pocket", - "tail": "Tail", - "topSleeve": "Topsleeve", - "underSleeve": "Undersleeve" - }, - "s": {}, - "o": { - "seatEase": { - "t": "Seat ease", - "d": "Amount of ease around your bum" - }, - "pocketPlacementHorizontal": { - "t": "Horizontal pocket placement", - "d": "The (horizontal) location of the pockets" - }, - "pocketPlacementVertical": { - "t": "Vertical pocket placement", - "d": "The (vertical) location of the pockets" - }, - "collarHeight": { - "t": "Collar height", - "d": "Height of the collar" - }, - "length": { - "t": "Length", - "d": "Total length" - }, - "pocketFlapRadius": { - "t": "Pocket flap radius", - "d": "The amount by which the pocket flap is rounded" - }, - "pocketRadius": { - "t": "Pocket radius", - "d": "The amount by which the pocket is rounded" - }, - "chestPocketHeight": { - "t": "Chest pocket height", - "d": "Height of the chest pocket" - }, - "beltWidth": { - "t": "Belt width", - "d": "Width of the belt" - }, - "buttonSpacingHorizontal": { - "t": "Horizontal button spacing", - "d": "Horizontal spacing of the buttons, also determines the front closure overlap" - }, - "lapelReduction": { - "t": "Lapel reduction", - "d": "Controls how much the lapel tip goes inwards." - }, - "frontOverlap": { - "t": "Front overlap", - "d": "Controls how much the right and left front of the garment overlap at the center front." - }, - "pocketHeight": { - "t": "Pocket height", - "d": "Controls the height of the front pockets" - }, - "pocketWidth": { - "t": "Pocket width", - "d": "Controls the width of the front pockets" - }, - "chestPocketPlacement": { - "t": "Chest pocket placement", - "d": "Controls the location of the chest pocket." - }, - "chestPocketAngle": { - "t": "Chest pocket angle", - "d": "Controls the slant of the chest pocket." - }, - "chestPocketWidth": { - "t": "Chest pocket width", - "d": "Controls the width of the chest pocket." - }, - "innerPocketPlacement": { - "t": "Inner pocket placement", - "d": "Controls the location of the inner pocket." - }, - "innerPocketDepth": { - "t": "Inner pocket depth", - "d": "Controls the depth of the inner pocket." - }, - "innerPocketWidth": { - "t": "Inner pocket width", - "d": "Controls the width of the inner pocket." - }, - "innerPocketWeltHeight": { - "t": "Inner pocket welt height", - "d": "Controls the height of the inner pocket welts." - }, - "sleeveBend": { - "t": "Sleeve bend", - "d": "The angle of the sleeve at the elbow." - }, - "sleevecapHeight": { - "t": "Sleevecap height", - "d": "Controls the height of the sleevecap." - }, - "sleevecapEase": { - "t": "Sleevecap ease", - "d": "Controls the amount of sleevecap ease." - }, - "cuffLength": { - "t": "Cuff length", - "d": "Controls the length (height if you wish) of the cuffs." - }, - "collarFlare": { - "t": "Collar flare", - "d": "Controls the flare of the collar by altering the fall length (between the neck and the tips) of the collar." - }, - "collarSpread": { - "t": "Collar spread", - "d": "Controls how close the collar lies to the neck." - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at your waist." - } - } -} diff --git a/designs/carlton/package.json b/designs/carlton/package.json index 6887c296cf4..6524d2dc471 100644 --- a/designs/carlton/package.json +++ b/designs/carlton/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/carlton", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,51 +25,42 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/brian": "3.3.0-rc.1", - "@freesewing/bent": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/brian": "4.0.0", + "@freesewing/bent": "4.0.0", + "@freesewing/plugin-bust": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/carlton/src/back.mjs b/designs/carlton/src/back.mjs index 5ddfbe47287..72d0312f33c 100644 --- a/designs/carlton/src/back.mjs +++ b/designs/carlton/src/back.mjs @@ -1,6 +1,6 @@ import { back as bentBack } from '@freesewing/bent' import { calculateRatios } from './shared.mjs' -import { hidePresets } from '@freesewing/core' +import { hidePresets, pctBasedOn } from '@freesewing/core' function draftCarltonBack({ sa, @@ -287,8 +287,8 @@ export const back = { options: { backPleat: 0.048, beltWidth: { pct: 15, min: 10, max: 20, menu: 'style' }, - waistEase: { pct: 14, min: 8, max: 25, menu: 'fit' }, - seatEase: { pct: 14, min: 8, max: 25, menu: 'fit' }, + waistEase: { pct: 14, min: 8, max: 25, ...pctBasedOn('waist'), menu: 'fit' }, + seatEase: { pct: 14, min: 8, max: 25, ...pctBasedOn('seat'), menu: 'fit' }, }, draft: draftCarltonBack, } diff --git a/designs/carlton/src/front.mjs b/designs/carlton/src/front.mjs index e88c235f061..f78cd8dcf66 100644 --- a/designs/carlton/src/front.mjs +++ b/designs/carlton/src/front.mjs @@ -1,6 +1,6 @@ import { front as bentFront } from '@freesewing/bent' import { calculateRatios } from './shared.mjs' -import { hidePresets } from '@freesewing/core' +import { hidePresets, pctBasedOn } from '@freesewing/core' function draftCarltonFront({ sa, @@ -574,7 +574,7 @@ export const front = { hide: hidePresets.HIDE_TREE, measurements: ['waist', 'waistToFloor', 'waistToSeat', 'seat'], options: { - chestEase: { pct: 10, min: 5, max: 20, menu: 'fit' }, + chestEase: { pct: 10, min: 5, max: 20, ...pctBasedOn('chest'), menu: 'fit' }, buttonSpacingHorizontal: { pct: 43.5, min: 15, max: 60, menu: 'style' }, length: { pct: 69, min: 35, max: 100, menu: 'style' }, lapelReduction: { pct: 5, min: 0, max: 10, menu: 'advanced' }, @@ -591,8 +591,8 @@ export const front = { chestPocketWidth: { pct: 25, min: 15, max: 50, menu: 'pockets' }, innerPocketPlacement: { pct: 53, min: 42, max: 62, menu: 'pockets' }, innerPocketWidth: { pct: 50, min: 45, max: 65, menu: 'pockets' }, - waistEase: { pct: 14, min: 8, max: 25, menu: 'fit' }, - seatEase: { pct: 14, min: 8, max: 25, menu: 'fit' }, + waistEase: { pct: 14, min: 8, max: 25, ...pctBasedOn('waist'), menu: 'fit' }, + seatEase: { pct: 14, min: 8, max: 25, ...pctBasedOn('seat'), menu: 'fit' }, innerPocketWeltHeight: { pct: 3.5, min: 2.5, max: 5, menu: 'pockets' }, }, draft: draftCarltonFront, diff --git a/designs/carlton/src/index.mjs b/designs/carlton/src/index.mjs index b62a704e568..a3daa0373b2 100644 --- a/designs/carlton/src/index.mjs +++ b/designs/carlton/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n, Brian, sleevecap as brianSleevecap } from '@freesewing/brian' import { i18n as carltonI18n } from '../i18n/index.mjs' // Parts @@ -26,7 +26,7 @@ import { innerPocketTab } from './innerpockettab.mjs' // Create design const Carlton = new Design({ - data, + data: about, parts: [ front, frontFacing, @@ -90,4 +90,5 @@ export { innerPocketTab, Carlton, i18n, + about, } diff --git a/designs/carlton/src/topsleeve.mjs b/designs/carlton/src/topsleeve.mjs index 5c04f005244..3ba5f654255 100644 --- a/designs/carlton/src/topsleeve.mjs +++ b/designs/carlton/src/topsleeve.mjs @@ -2,6 +2,7 @@ import { topSleeve as bentTopSleeve } from '@freesewing/bent' import { front as bentFront } from '@freesewing/bent' import { front } from './front.mjs' import { back } from './back.mjs' +import { pctBasedOn } from '@freesewing/core' function draftCarltonTopSleeve({ sa, @@ -253,9 +254,9 @@ export const topSleeve = { collarEase: 0.145, acrossBackFactor: { pct: 97, min: 93, max: 100, menu: 'fit' }, armholeDepthFactor: { pct: 65, min: 50, max: 70, menu: 'fit' }, - bicepsEase: { pct: 20, min: 0, max: 50, menu: 'fit' }, - cuffEase: { pct: 60, min: 30, max: 100, menu: 'fit' }, - shoulderEase: { pct: 0, min: -2, max: 6, menu: 'fit' }, + bicepsEase: { pct: 20, min: 0, max: 50, ...pctBasedOn('biceps'), menu: 'fit' }, + cuffEase: { pct: 60, min: 30, max: 100, ...pctBasedOn('wrist'), menu: 'fit' }, + shoulderEase: { pct: 0, min: -2, max: 6, ...pctBasedOn('shoulderToShoulder'), menu: 'fit' }, sleeveBend: { deg: 10, min: 0, max: 20, menu: 'fit' }, sleeveLengthBonus: { pct: 7, min: 0, max: 20, menu: 'fit' }, s3Collar: { pct: 0, min: -100, max: 100, menu: 'style' }, diff --git a/designs/carlton/src/undersleeve.mjs b/designs/carlton/src/undersleeve.mjs index ea67f83e4a3..f16d250d688 100644 --- a/designs/carlton/src/undersleeve.mjs +++ b/designs/carlton/src/undersleeve.mjs @@ -1,5 +1,6 @@ import { underSleeve as bentUnderSleeve } from '@freesewing/bent' import { front as bentFront } from '@freesewing/bent' +import { pctBasedOn } from '@freesewing/core' function draftCarltonUnderSleeve({ sa, @@ -191,9 +192,9 @@ export const underSleeve = { collarEase: 0.145, acrossBackFactor: { pct: 97, min: 93, max: 100, menu: 'fit' }, armholeDepthFactor: { pct: 65, min: 50, max: 70, menu: 'fit' }, - bicepsEase: { pct: 20, min: 0, max: 50, menu: 'fit' }, - cuffEase: { pct: 60, min: 30, max: 100, menu: 'fit' }, - shoulderEase: { pct: 0, min: -2, max: 6, menu: 'fit' }, + bicepsEase: { pct: 20, min: 0, max: 50, ...pctBasedOn('biceps'), menu: 'fit' }, + cuffEase: { pct: 60, min: 30, max: 100, ...pctBasedOn('wrist'), menu: 'fit' }, + shoulderEase: { pct: 0, min: -2, max: 6, ...pctBasedOn('shoulderToShoulder'), menu: 'fit' }, sleeveBend: { deg: 10, min: 0, max: 20, menu: 'fit' }, sleeveLengthBonus: { pct: 7, min: 0, max: 20, menu: 'fit' }, s3Collar: { pct: 0, min: -100, max: 100, menu: 'style' }, diff --git a/designs/carlton/tests/shared.test.mjs b/designs/carlton/tests/shared.test.mjs index 8ea46fede64..fbb006fe111 100644 --- a/designs/carlton/tests/shared.test.mjs +++ b/designs/carlton/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Carlton, i18n } from '../src/index.mjs' +import { Carlton, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Carlton) +testPatternConfig(Carlton, about) // Test translation testPatternI18n(Carlton, i18n) diff --git a/designs/cathrin/CHANGELOG.md b/designs/cathrin/CHANGELOG.md index 3a753ff9985..b34b2df8c37 100644 --- a/designs/cathrin/CHANGELOG.md +++ b/designs/cathrin/CHANGELOG.md @@ -1,6 +1,13 @@ # Change log for: @freesewing/cathrin +## 4.0.0 (2024-04-01) + +### Changed + + - Allow negative values in backDrop option. Fixes + - Allow negative values for the frontRise options. Fixes + ## 3.0.0 (2023-09-30) ### Changed diff --git a/designs/cathrin/README.md b/designs/cathrin/README.md index 8cacc553aa1..048bc5b8fe8 100644 --- a/designs/cathrin/README.md +++ b/designs/cathrin/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:cathrin - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/cathrin @@ -59,7 +44,7 @@ A FreeSewing pattern for a underbust corset / waist trainer > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/cathrin/data.mjs b/designs/cathrin/data.mjs deleted file mode 100644 index 812cb79b5cd..00000000000 --- a/designs/cathrin/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/cathrin' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/cathrin/i18n/de.json b/designs/cathrin/i18n/de.json deleted file mode 100644 index 53f4c046767..00000000000 --- a/designs/cathrin/i18n/de.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "t": "Cathrin, das Korsett", - "d": "Cathrin ist ein Unterbrustkorsett oder Taillentrainer.", - "p": { - "base": "Basis", - "panel1": "Teil 1", - "panel2": "Teil 2", - "panel3": "Teil 3", - "panel4": "Teil 4", - "panel5": "Teil 5", - "panel6": "Teil 6", - "panels": "Teile" - }, - "s": {}, - "o": { - "panels": { - "t": "Anzahl der Schnittteile", - "d": "Die Anzahl der zu erstellenden Schnittteile. Mehr Schnittteile passen kurvenreicheren Modellen besser." - }, - "waistReduction": { - "t": "Taillenreduzierung", - "d": "Der Betrag, um den das Korsett deine Taille einschnüren soll." - }, - "backOpening": { - "t": "Hintere Öffnung", - "d": "Öffnung in der hinteren Mitte" - }, - "backRise": { - "t": "Anstieg hinten", - "d": "Wie stark sich die hinteren Schnittteile von den Armen bis zur hinteren Mitte erstrecken." - }, - "backDrop": { - "t": "Rückenabsenkung", - "d": "Wie weit sich die hinteren Schnittteile von den Hüften in Richtung Rückenmitte absenken. Negative Werte heben den Rücken an." - }, - "frontRise": { - "t": "Frontanstieg", - "d": "Aufstieg der Frontteile in der Mitte zwischen den Brüsten. Negative Werte verringern sie." - }, - "frontDrop": { - "t": "Frontabsenkung", - "d": "Wie weit sich die Frontteile von Ihrer Hüfte in Richtung Ihrer Mittelfront absenken." - }, - "hipRise": { - "t": "Hüftanstieg", - "d": "Wie stark die Seitenteile auf den Hüften stehen." - } - } -} diff --git a/designs/cathrin/i18n/es.json b/designs/cathrin/i18n/es.json deleted file mode 100644 index d57f4ef70f5..00000000000 --- a/designs/cathrin/i18n/es.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "t": "Cathrin, corset", - "d": "Cathrin es un corset por debajo del pecho o faja.", - "p": { - "base": "Base", - "panel1": "Panel 1", - "panel2": "Panel 2", - "panel3": "Panel 3", - "panel4": "Panel 4", - "panel5": "Panel 5", - "panel6": "Panel 6", - "panels": "Paneles" - }, - "s": {}, - "o": { - "panels": { - "t": "Número de paneles", - "d": "La cantidad de paneles a trazar. Más paneles permiten un mejor ajuste para cuerpos con más curvas." - }, - "waistReduction": { - "t": "Reducción de cintura", - "d": "La cantidad en la que quieres que el corset reduzca la cintura." - }, - "backOpening": { - "t": "Abertura de la espalda", - "d": "Abertura en el centro del cierre de la espalda." - }, - "backRise": { - "t": "Elevación de la espalda", - "d": "Cantidad en que los paneles traseros se elevan sobre el centro de la espalda" - }, - "backDrop": { - "t": "Caída de la espalda", - "d": "En qué medida los paneles posteriores se extienden bajo la cadera. Valores negativos los elevan sobre ella." - }, - "frontRise": { - "t": "Elevación frontal", - "d": "Cuánto se eleva el panel frontal entre tus pechos. Valores negativos lo bajan." - }, - "frontDrop": { - "t": "Caída frontal", - "d": "Cuánto los paneles frontales caen bajo la cadera en el centro por delate." - }, - "hipRise": { - "t": "Elevación de la cadera", - "d": "Cuánto se elevan los paneles laterales sobre tu cadera." - } - } -} diff --git a/designs/cathrin/i18n/fr.json b/designs/cathrin/i18n/fr.json deleted file mode 100644 index 6e8d254c3de..00000000000 --- a/designs/cathrin/i18n/fr.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "t": "Corset Cathrin", - "d": "Cathrin est un corset sous-poitrine ou un serre-taille.", - "p": { - "base": "Base", - "panel1": "Pièce 1", - "panel2": "Pièce 2", - "panel3": "Pièce 3", - "panel4": "Pièce 4", - "panel5": "Pièce 5", - "panel6": "Pièce 6", - "panels": "Pièces" - }, - "s": {}, - "o": { - "panels": { - "t": "Nombre de pièces", - "d": "Le nombre de pièces à tracer. Plus il y a de pièces, mieux c'est pour l'ajustement des modèles avec courbes." - }, - "waistReduction": { - "t": "Réduction de la taille", - "d": "Le montant par lequel vous voulez que le corset resserre votre taille." - }, - "backOpening": { - "t": "Ouverture arrière", - "d": "Ouverture au centre de la fermeture du dos." - }, - "backRise": { - "t": "Élévation dos", - "d": "À quel point les panneaux arrière s’élèvent de vos bras au centre de votre dos." - }, - "backDrop": { - "t": "Abaissement du dos", - "d": "Combien les panneaux arrière s'abaissent de vos hanches vers votre centre arrière Les valeurs négatives vont lever le dos." - }, - "frontRise": { - "t": "Élévation avant", - "d": "Élévation des panneaux avant au centre avant, entre vos seins. Les valeurs négatives les diminueront." - }, - "frontDrop": { - "t": "Abaissement avant", - "d": "Combien les panneaux avant s'abaissent de vos hanches vers votre centre avant." - }, - "hipRise": { - "t": "Élévation des hanches", - "d": "Combien les panneaux latéraux montent sur vos hanches." - } - } -} diff --git a/designs/cathrin/i18n/index.mjs b/designs/cathrin/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/cathrin/i18n/index.mjs +++ b/designs/cathrin/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/cathrin/i18n/nl.json b/designs/cathrin/i18n/nl.json deleted file mode 100644 index a94bc372680..00000000000 --- a/designs/cathrin/i18n/nl.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "t": "Cathrin korset", - "d": "Cathrin is een underbust korset of waist trainer.", - "p": { - "base": "Basis", - "panel1": "Deel 1", - "panel2": "Deel 2", - "panel3": "Deel 3", - "panel4": "Deel 4", - "panel5": "Deel 5", - "panel6": "Deel 6", - "panels": "Panelen" - }, - "s": {}, - "o": { - "panels": { - "t": "Aantal panelen", - "d": "Het aantal panelen. Meer panelen werken beter voor een ronder figuur." - }, - "waistReduction": { - "t": "Reductie taille", - "d": "Hoeveel smaller je wil dat het korset je taille maakt." - }, - "backOpening": { - "t": "Opening rug", - "d": "Opening aan de sluiting op de middenrug." - }, - "backRise": { - "t": "Hoogte achter", - "d": "Hoe ver de rugpanden stijgen van je armen tot je middenrug." - }, - "backDrop": { - "t": "Verlaging rug", - "d": "Hoeveel lager de rugpanden worden vanaf de heupen tot de middenrug. Een negatieve waarde maakt ze hoger." - }, - "frontRise": { - "t": "Hoogte voorpand", - "d": "De hoogte van de panelen middenvoor, tussen je borsten. Een negatieve waarde maakte ze lager." - }, - "frontDrop": { - "t": "Verlaging voorpand", - "d": "Hoeveel de voorpanden verlagen van je heupen tot middenvoor." - }, - "hipRise": { - "t": "Hoogte heup", - "d": "Hoe hoog de zijpanelen vallen op je heupen." - } - } -} diff --git a/designs/cathrin/i18n/uk.json b/designs/cathrin/i18n/uk.json deleted file mode 100644 index 89e98b40617..00000000000 --- a/designs/cathrin/i18n/uk.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "t": "Cathrin corset", - "d": "Cathrin is an underbust corset or waist trainer.", - "p": { - "base": "Base", - "panel1": "Panel 1", - "panel2": "Panel 2", - "panel3": "Panel 3", - "panel4": "Panel 4", - "panel5": "Panel 5", - "panel6": "Panel 6", - "panels": "Panels" - }, - "s": {}, - "o": { - "panels": { - "t": "Number of panels", - "d": "The number of panels to draft. More panels are better to fit a curvier model." - }, - "waistReduction": { - "t": "Waist reduction", - "d": "The amount by which you want the corset to pinch your waist." - }, - "backOpening": { - "t": "Back opening", - "d": "Opening at the center back closure." - }, - "backRise": { - "t": "Back rise", - "d": "How much the back panels rise from your arms to your center back." - }, - "backDrop": { - "t": "Back drop", - "d": "How much the back panels lower from your hips towards your center back. Negative values will raise the back." - }, - "frontRise": { - "t": "Front rise", - "d": "Rise of the front panels at center front, between your breasts. Negative values will lower them." - }, - "frontDrop": { - "t": "Front drop", - "d": "How much the front panels lower from your hips towards your center front." - }, - "hipRise": { - "t": "Hip rise", - "d": "How much the side panels rise on your hips." - } - } -} diff --git a/designs/cathrin/package.json b/designs/cathrin/package.json index e4204189a56..6b73c9922fe 100644 --- a/designs/cathrin/package.json +++ b/designs/cathrin/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/cathrin", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a underbust corset / waist trainer", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/cathrin/src/index.mjs b/designs/cathrin/src/index.mjs index a18fb6b84fc..58290083b1c 100644 --- a/designs/cathrin/src/index.mjs +++ b/designs/cathrin/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } //Parts import { panel1 } from './panel1.mjs' import { panel2 } from './panel2.mjs' @@ -15,9 +15,9 @@ import { i18n } from '../i18n/index.mjs' // Create design const Cathrin = new Design({ - data, + data: about, parts: [panel1, panel2, panel3, panel4, panel5, panel6], }) // Named exports -export { base, panels, panel1, panel2, panel3, panel4, panel5, panel6, Cathrin, i18n } +export { base, panels, panel1, panel2, panel3, panel4, panel5, panel6, Cathrin, i18n, about } diff --git a/designs/cathrin/tests/shared.test.mjs b/designs/cathrin/tests/shared.test.mjs index 747985d256b..8c2e3719ec6 100644 --- a/designs/cathrin/tests/shared.test.mjs +++ b/designs/cathrin/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Cathrin, i18n } from '../src/index.mjs' +import { Cathrin, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Cathrin) +testPatternConfig(Cathrin, about) // Test translation testPatternI18n(Cathrin, i18n) diff --git a/designs/charlie/CHANGELOG.md b/designs/charlie/CHANGELOG.md index a903b0235b3..ab28bdb08d7 100644 --- a/designs/charlie/CHANGELOG.md +++ b/designs/charlie/CHANGELOG.md @@ -1,6 +1,16 @@ # Change log for: @freesewing/charlie +## 4.0.0 (2024-04-01) + +### Changed + + - Fix crash when drawing the jseamStitchLine is not possible. Fixes + +### Fixed + + - Fix cut instructions for fly facing, only 1 to be cut. Fixes + ## 3.2.0 (2024-02-11) ### Fixed diff --git a/designs/charlie/README.md b/designs/charlie/README.md index 9c18336bfa3..e325d3bc3a2 100644 --- a/designs/charlie/README.md +++ b/designs/charlie/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:charlie - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/charlie @@ -59,7 +44,7 @@ A FreeSewing pattern for chino trousers > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/charlie/data.mjs b/designs/charlie/data.mjs deleted file mode 100644 index dfe3ad5d1f2..00000000000 --- a/designs/charlie/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/charlie' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/charlie/i18n/de.json b/designs/charlie/i18n/de.json deleted file mode 100644 index 10541891e4f..00000000000 --- a/designs/charlie/i18n/de.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "t": "Charlie, die Chinos", - "d": "Charlie ist ein Schnittmuster für Chinos.", - "p": { - "back": "Back", - "backPocket": "Back pocket", - "backPocketFacing": "Back pocket facing", - "backPocketInterfacing": "Back pocket interfacing", - "backPocketWelt": "Back pocket welt", - "beltLoops": "Beltloops", - "flyExtension": "Fly extension", - "flyFacing": "Fly facing", - "front": "Front", - "frontPocket": "Front pocket", - "frontPocketFacing": "Front pocket facing", - "waistband": "Waistband", - "waistbandCurved": "Curved waistband" - }, - "s": {}, - "o": { - "backPocketHorizontalPlacement": { - "t": "Horizontale Platzierung der hinteren Tasche", - "d": "Steuert die horizontale Platzierung der hinteren Tasche" - }, - "backPocketVerticalPlacement": { - "t": "Vertikale Platzierung der hinteren Tasche", - "d": "Steuert die vertikale Platzierung der hinteren Tasche" - }, - "backPocketWidth": { - "t": "Breite der hinteren Tasche", - "d": "Steuert die Breite der hinteren Tasche" - }, - "backPocketDepth": { - "t": "Tiefe der hinteren Tasche", - "d": "Steuert die Tiefe der hinteren Tasche" - }, - "backPocketFacing": { - "t": "Besatz der hinteren Tasche", - "d": "Legt fest, ob die hinteren Taschen Besatz haben sollen oder nicht" - }, - "frontPocketSlantDepth": { - "t": "Vordertasche Schrägtiefe", - "d": "Steuert die Tiefe des (vorder) Taschenschlitzes" - }, - "frontPocketSlantWidth": { - "t": "Fronttasche Schrägbreite", - "d": "Steuert die Breite des (vorder) Taschenschlitzes" - }, - "frontPocketSlantRound": { - "t": "Vordertaschenschlitzrunde", - "d": "Stellt fest, wie weit wir vom Ende der Schrägheit entfernt anfangen in das Aussennaht zu runden" - }, - "frontPocketSlantBend": { - "t": "Vordertaschenschräg Biegen", - "d": "Steuert den Radius, mit dem wir die Taschenschiebung in die Außennaht umdrehen" - }, - "frontPocketWidth": { - "t": "Breite der Fronttasche", - "d": "Steuert die Breite der Vordertasche" - }, - "frontPocketDepth": { - "t": "Tiefe der Vordertasche", - "d": "Steuert die Tiefe der Vordertasche" - }, - "frontPocketFacing": { - "t": "Fronttasche", - "d": "Legt fest, wie weit die Tasche in die Tasche hineinreicht" - }, - "beltLoops": { - "t": "Gürtelschlaufen", - "d": "Steuert die Anzahl der Gürtelschlaufen" - }, - "flyCurve": { - "t": "Flugkurve", - "d": "Steuert die Krümmung der Fliege J-Naht" - }, - "flyLength": { - "t": "Fluglänge", - "d": "Steuert die Länge der Fliege" - }, - "flyWidth": { - "t": "Fly width", - "d": "Bestimmt, wie weit die J-Naht-Versatz vom Fliegenrand entfernt ist" - }, - "waistbandCurve": { - "t": "Taillenband Kurve", - "d": "Steuert die Kurven der Taille." - } - } -} diff --git a/designs/charlie/i18n/es.json b/designs/charlie/i18n/es.json deleted file mode 100644 index 524ea883724..00000000000 --- a/designs/charlie/i18n/es.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "t": "Charlie, chinos", - "d": "Charlie es un patrón de pantalón tipo chinos.", - "p": { - "back": "Back", - "backPocket": "Back pocket", - "backPocketFacing": "Back pocket facing", - "backPocketInterfacing": "Back pocket interfacing", - "backPocketWelt": "Back pocket welt", - "beltLoops": "Beltloops", - "flyExtension": "Fly extension", - "flyFacing": "Fly facing", - "front": "Front", - "frontPocket": "Front pocket", - "frontPocketFacing": "Front pocket facing", - "waistband": "Waistband", - "waistbandCurved": "Curved waistband" - }, - "s": {}, - "o": { - "backPocketHorizontalPlacement": { - "t": "Colocación horizontal del bolsillo trasero", - "d": "Controla la posición horizontal del bolsillo trasero" - }, - "backPocketVerticalPlacement": { - "t": "Colocación vertical del bolsillo trasero", - "d": "Controla la posición vertical del bolsillo trasero" - }, - "backPocketWidth": { - "t": "Ancho del bolsillo trasero", - "d": "Controla el ancho del bolsillo trasero" - }, - "backPocketDepth": { - "t": "Profundidad del bolsillo trasero", - "d": "Controla la profundidad del bolsillo trasero" - }, - "backPocketFacing": { - "t": "Back pocket facing", - "d": "Controls whether or not to include facing on the back pockets" - }, - "frontPocketSlantDepth": { - "t": "Profundidad delantera de bolsillo", - "d": "Controla la profundidad de la capa delantera del bolsillo" - }, - "frontPocketSlantWidth": { - "t": "Anchura del bolsillo delantero", - "d": "Controla el ancho de la franja del bolsillo (delante)" - }, - "frontPocketSlantRound": { - "t": "Pócket delantero slant round", - "d": "Controla qué tan lejos del final del esclavizado empezamos a redondear hacia el exterior" - }, - "frontPocketSlantBend": { - "t": "Pócket delantero inclinado", - "d": "Controla el radio por el cual redondeamos el bolsillo hacia el exterior" - }, - "frontPocketWidth": { - "t": "Ancho bolsillo frontal", - "d": "Controla el ancho de la bolsa de bolsillo frontal" - }, - "frontPocketDepth": { - "t": "Profundidad de bolsillo frontal", - "d": "Controla la profundidad de la bolsa de bolsillo frontal" - }, - "frontPocketFacing": { - "t": "Pócket frontal", - "d": "Controla hasta qué punto la cara del bolsillo se extiende a la bolsa de bolsillo" - }, - "beltLoops": { - "t": "Bucles de cinturón", - "d": "Controla la cantidad de bucles de cinta" - }, - "flyCurve": { - "t": "Curva de vuelo", - "d": "Controla la curvatura de la mosca J-costura" - }, - "flyLength": { - "t": "Longitud del vuelo", - "d": "Controla la longitud de la mosca" - }, - "flyWidth": { - "t": "Fly width", - "d": "Controla hasta qué punto la costura J del desplazamiento del borde de la mosca" - }, - "waistbandCurve": { - "t": "Curva de Waistband", - "d": "Controla lo curvada que es la banda de cintura." - } - } -} diff --git a/designs/charlie/i18n/fr.json b/designs/charlie/i18n/fr.json deleted file mode 100644 index e338d04a657..00000000000 --- a/designs/charlie/i18n/fr.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "t": "Charlie chinos", - "d": "Charlie est un modèle de pantalon en chino.", - "p": { - "back": "Back", - "backPocket": "Back pocket", - "backPocketFacing": "Back pocket facing", - "backPocketInterfacing": "Back pocket interfacing", - "backPocketWelt": "Back pocket welt", - "beltLoops": "Beltloops", - "flyExtension": "Fly extension", - "flyFacing": "Fly facing", - "front": "Front", - "frontPocket": "Front pocket", - "frontPocketFacing": "Front pocket facing", - "waistband": "Waistband", - "waistbandCurved": "Curved waistband" - }, - "s": {}, - "o": { - "backPocketHorizontalPlacement": { - "t": "Placement horizontal de la poche arrière", - "d": "Contrôle le placement horizontal de la poche arrière" - }, - "backPocketVerticalPlacement": { - "t": "Placement vertical de la poche arrière", - "d": "Contrôle le placement vertical de la poche arrière" - }, - "backPocketWidth": { - "t": "Largeur de la poche arrière", - "d": "Contrôle la largeur de la poche arrière" - }, - "backPocketDepth": { - "t": "Profondeur de la poche arrière", - "d": "Contrôle la profondeur de la poche arrière" - }, - "backPocketFacing": { - "t": "Fond de poche arrière", - "d": "Contrôle s'il faut inclure ou non un fond dans les poches arrière" - }, - "frontPocketSlantDepth": { - "t": "Profondeur de la poche avant", - "d": "Contrôle la profondeur de la poche (frontale)" - }, - "frontPocketSlantWidth": { - "t": "Largeur de la poche frontale", - "d": "Contrôle la largeur de la fenêtre de poche (frontale)" - }, - "frontPocketSlantRound": { - "t": "Arrondi de poche avant", - "d": "Contrôle à quelle distance de la fin de l'objectif nous commençons à arrondir dans le dehors" - }, - "frontPocketSlantBend": { - "t": "courbure de la poche avant", - "d": "Contrôle le rayon par lequel on arrondit la poche enfoncée dans la sortie" - }, - "frontPocketWidth": { - "t": "Largeur des poches avant", - "d": "Contrôle la largeur du sac de poche avant" - }, - "frontPocketDepth": { - "t": "Profondeur des poches avant", - "d": "Contrôle la profondeur du sac de poche avant" - }, - "frontPocketFacing": { - "t": "Poche avant face", - "d": "Contrôle la distance à laquelle la poche est orientée dans le sac de poche" - }, - "beltLoops": { - "t": "Boucles de ceinture", - "d": "Contrôle la quantité de boucles de ceinture" - }, - "flyCurve": { - "t": "Voler la courbe", - "d": "Contrôle la courbure de la couture J-fly" - }, - "flyLength": { - "t": "Longueur de la mouche", - "d": "Contrôle la longueur de la mouche" - }, - "flyWidth": { - "t": "Fly width", - "d": "Contrôle à quelle distance le J-couture de décalage par rapport au bord de la volée" - }, - "waistbandCurve": { - "t": "Courbe de la ceinture", - "d": "Contrôle la courbure de la ceinture." - } - } -} diff --git a/designs/charlie/i18n/index.mjs b/designs/charlie/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/charlie/i18n/index.mjs +++ b/designs/charlie/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/charlie/i18n/nl.json b/designs/charlie/i18n/nl.json deleted file mode 100644 index 0400b59bc4d..00000000000 --- a/designs/charlie/i18n/nl.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "t": "Charlie chinos", - "d": "Charlie is een chino broekpatroon.", - "p": { - "back": "Back", - "backPocket": "Back pocket", - "backPocketFacing": "Back pocket facing", - "backPocketInterfacing": "Back pocket interfacing", - "backPocketWelt": "Back pocket welt", - "beltLoops": "Beltloops", - "flyExtension": "Fly extension", - "flyFacing": "Fly facing", - "front": "Front", - "frontPocket": "Front pocket", - "frontPocketFacing": "Front pocket facing", - "waistband": "Waistband", - "waistbandCurved": "Curved waistband" - }, - "s": {}, - "o": { - "backPocketHorizontalPlacement": { - "t": "Plaatsing horizontale achterzak", - "d": "Bepaalt de horizontale plaatsing van de achterzak" - }, - "backPocketVerticalPlacement": { - "t": "Verticale plaatsing achterzak", - "d": "Bepaalt de verticale plaatsing van de achterzak" - }, - "backPocketWidth": { - "t": "Breedte achterzak", - "d": "Bepaalt de breedte van de achterzak" - }, - "backPocketDepth": { - "t": "Diepte achterzak", - "d": "Bepaalt de diepte van de achterzak" - }, - "backPocketFacing": { - "t": "Back pocket facing", - "d": "Controls whether or not to include facing on the back pockets" - }, - "frontPocketSlantDepth": { - "t": "Diepte voorzak", - "d": "Bepaalt de diepte van de voorste zakopening" - }, - "frontPocketSlantWidth": { - "t": "Schouderstuk voorzak breedte", - "d": "Bepaalt de breedte van de voorste zakopening" - }, - "frontPocketSlantRound": { - "t": "Schuine zakdeel rond", - "d": "Bepaalt hoe ver we van het einde van de schuine lijn beginnen met afronden in de outnaad" - }, - "frontPocketSlantBend": { - "t": "Schuine zakopening", - "d": "Bepaalt de straal waarmee we het zakdeel op de rand afstemmen" - }, - "frontPocketWidth": { - "t": "Breedte zak", - "d": "Bepaalt de breedte van het voorste zakdeel" - }, - "frontPocketDepth": { - "t": "Diepte zak", - "d": "Bepaalt de diepte van het voorzakdeel" - }, - "frontPocketFacing": { - "t": "Beleg zak", - "d": "Bepaalt hoever het beleg van de zak zich uitstrekt tot het zakdeel" - }, - "beltLoops": { - "t": "Rand lussen", - "d": "Bepaalt de hoeveelheid riemlusjes" - }, - "flyCurve": { - "t": "Vlieg curve", - "d": "Bepaalt de kromming van de gulpnaad" - }, - "flyLength": { - "t": "Vlieg lengte", - "d": "Bepaalt de lengte van de gulp" - }, - "flyWidth": { - "t": "Fly width", - "d": "Bepaalt hoe ver de J-naad van de rand van de gulp af staat" - }, - "waistbandCurve": { - "t": "Tailleband curve", - "d": "Bepaalt hoe gebogen de tailleband is." - } - } -} diff --git a/designs/charlie/i18n/uk.json b/designs/charlie/i18n/uk.json deleted file mode 100644 index 368c0d75ae0..00000000000 --- a/designs/charlie/i18n/uk.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "t": "Charlie chinos", - "d": "Charlie is a chino trouser pattern.", - "p": { - "back": "Back", - "backPocket": "Back pocket", - "backPocketFacing": "Back pocket facing", - "backPocketInterfacing": "Back pocket interfacing", - "backPocketWelt": "Back pocket welt", - "beltLoops": "Beltloops", - "flyExtension": "Fly extension", - "flyFacing": "Fly facing", - "front": "Front", - "frontPocket": "Front pocket", - "frontPocketFacing": "Front pocket facing", - "waistband": "Waistband", - "waistbandCurved": "Curved waistband" - }, - "s": {}, - "o": { - "backPocketHorizontalPlacement": { - "t": "Back pocket horizontal placement", - "d": "Controls the horizontal placement of the back pocket" - }, - "backPocketVerticalPlacement": { - "t": "Back pocket vertical placement", - "d": "Controls the vertical placement of the back pocket" - }, - "backPocketWidth": { - "t": "Back pocket width", - "d": "Controls the width of the back pocket" - }, - "backPocketDepth": { - "t": "Back pocket depth", - "d": "Controls the depth of the back pocket" - }, - "backPocketFacing": { - "t": "Back pocket facing", - "d": "Controls whether or not to include facing on the back pockets" - }, - "frontPocketSlantDepth": { - "t": "Front pocket slant depth", - "d": "Controls the depth of the (front) pocket slant" - }, - "frontPocketSlantWidth": { - "t": "Front pocket slant width", - "d": "Controls the width of the (front) pocket slant" - }, - "frontPocketSlantRound": { - "t": "Front pocket slant round", - "d": "Controls how far from the end of the slant we start rounding into the outseam" - }, - "frontPocketSlantBend": { - "t": "Front pocket slant bend", - "d": "Controls the radius by which we round the pocket slant into the outseam" - }, - "frontPocketWidth": { - "t": "Front pocket width", - "d": "Controls the width of the front pocket bag" - }, - "frontPocketDepth": { - "t": "Front pocket depth", - "d": "Controls the depth of the front pocket bag" - }, - "frontPocketFacing": { - "t": "Front pocket facing", - "d": "Controls how far the pocket facing extends into the pocket bag" - }, - "beltLoops": { - "t": "Belt loops", - "d": "Controls the amount of belt loops" - }, - "flyCurve": { - "t": "Fly curve", - "d": "Controls the curvature of the fly J-seam" - }, - "flyLength": { - "t": "Fly length", - "d": "Controls the length of the fly" - }, - "flyWidth": { - "t": "Fly width", - "d": "Controls how far the J-seam of offset from the fly edge" - }, - "waistbandCurve": { - "t": "Waistband Curve", - "d": "Controls how curved the waistband is." - } - } -} diff --git a/designs/charlie/package.json b/designs/charlie/package.json index 88e6a37884d..efff7055062 100644 --- a/designs/charlie/package.json +++ b/designs/charlie/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/charlie", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for chino trousers", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,50 +25,41 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/titan": "3.3.0-rc.1", - "@freesewing/snapseries": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/titan": "4.0.0", + "@freesewing/snapseries": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/charlie/src/front.mjs b/designs/charlie/src/front.mjs index a79b3ff4e30..60660325baf 100644 --- a/designs/charlie/src/front.mjs +++ b/designs/charlie/src/front.mjs @@ -533,9 +533,9 @@ export const front = { waistbandFactor: 0.1, // Fit (from Titan) - waistEase: { pct: 1, min: 0, max: 5, menu: 'fit' }, - seatEase: { pct: 5, min: 0, max: 10, menu: 'fit' }, - kneeEase: { pct: 15, min: 10, max: 30, menu: 'fit' }, + waistEase: { pct: 1, min: 0, max: 5, ...pctBasedOn('waist'), menu: 'fit' }, + seatEase: { pct: 5, min: 0, max: 10, ...pctBasedOn('seat'), menu: 'fit' }, + kneeEase: { pct: 15, min: 10, max: 30, ...pctBasedOn('knee'), menu: 'fit' }, // Style (from Titan) waistHeight: { pct: -4, min: -15, max: 40, menu: 'style' }, diff --git a/designs/charlie/src/index.mjs b/designs/charlie/src/index.mjs index b1b23dcf6b2..94a67fdcf8e 100644 --- a/designs/charlie/src/index.mjs +++ b/designs/charlie/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as titanI18n } from '@freesewing/titan' import { i18n as charlieI18n } from '../i18n/index.mjs' // Parts @@ -19,7 +19,7 @@ import { beltLoops } from './beltloops.mjs' // Create design const Charlie = new Design({ - data, + data: about, parts: [ front, back, @@ -57,4 +57,5 @@ export { beltLoops, Charlie, i18n, + about, } diff --git a/designs/charlie/tests/shared.test.mjs b/designs/charlie/tests/shared.test.mjs index 193285bdfc5..e35ff866778 100644 --- a/designs/charlie/tests/shared.test.mjs +++ b/designs/charlie/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Charlie, i18n } from '../src/index.mjs' +import { Charlie, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Charlie) +testPatternConfig(Charlie, about) // Test translation testPatternI18n(Charlie, i18n) diff --git a/designs/cornelius/README.md b/designs/cornelius/README.md index ef7d28b4c6d..f908207cebc 100644 --- a/designs/cornelius/README.md +++ b/designs/cornelius/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:cornelius - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/cornelius @@ -59,7 +44,7 @@ A FreeSewing pattern for cycling breeches, based on the Keystone drafting system > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/cornelius/data.mjs b/designs/cornelius/data.mjs deleted file mode 100644 index 1605e44e20e..00000000000 --- a/designs/cornelius/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/cornelius' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/cornelius/i18n/de.json b/designs/cornelius/i18n/de.json deleted file mode 100644 index d171a73885c..00000000000 --- a/designs/cornelius/i18n/de.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "t": "Cornelius, die Kniebundhose zum Radfahren", - "d": "Cornelius ist eine Kniebundhose zum Fahrradfahren, basierend auf der Entwurfsmethode nach Keystone.", - "p": { - "back": "Back", - "front": "Front", - "frontpoints": "Front points", - "legband": "Legband", - "legbandKeystone": "Legband Keystone", - "pocket": "Pocket", - "pocketFacing": "Pocket facing", - "waistband": "Waistband", - "zipperguard": "Zipperguard" - }, - "s": { - "Vent": "Schlitz", - "PocketFacing": "Taschenbesatz" - }, - "o": { - "fullness": { - "t": "Fülle", - "d": "Steuert die Fülle der Hosen" - }, - "waistbandBelowWaist": { - "t": "Unterer Taillenband", - "d": "Prozentsatz um die Taille unter die aktuelle Taille zu bewegen" - }, - "waistReduction": { - "t": "Taillenreduzierung", - "d": "Prozentsatz um die Taille zu reduzieren" - }, - "cuffWidth": { - "t": "Cuff width", - "d": "Breite der Beinschicht" - }, - "cuffStyle": { - "t": "Manschettenstil", - "d": "Stil der Beinmanschette" - }, - "bandBelowKnee": { - "t": "Kuff unter dem Knie", - "d": "Steuert die Manschettendistanz vom Knie" - }, - "kneeToBelow": { - "t": "Manschettenlänge", - "d": "Steuert die Dichtheit der Manschette im Vergleich zum Knie" - }, - "ventLength": { - "t": "Ventillänge", - "d": "Steuert die Länge des Schlot zwischen Knie und Manschette" - } - } -} diff --git a/designs/cornelius/i18n/es.json b/designs/cornelius/i18n/es.json deleted file mode 100644 index bb71a4b02f2..00000000000 --- a/designs/cornelius/i18n/es.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "t": "Cornelius, pantalones cortos de ciclista", - "d": "Cornelius son pantalones cortos de ciclista basados en el método de bocetado Keystone.", - "p": { - "back": "Back", - "front": "Front", - "frontpoints": "Front points", - "legband": "Legband", - "legbandKeystone": "Legband Keystone", - "pocket": "Pocket", - "pocketFacing": "Pocket facing", - "waistband": "Waistband", - "zipperguard": "Zipperguard" - }, - "s": { - "Vent": "Ventilador", - "PocketFacing": "Cara de bolsillo" - }, - "o": { - "fullness": { - "t": "Cumplimiento", - "d": "Controla la integridad de los breeches" - }, - "waistbandBelowWaist": { - "t": "Banda inferior", - "d": "Porcentaje para mover la cintura debajo de la cintura actual" - }, - "waistReduction": { - "t": "Reducción de cintura", - "d": "Porcentaje para reducir la cintura" - }, - "cuffWidth": { - "t": "Cuff width", - "d": "Ancho del corte de la pierna" - }, - "cuffStyle": { - "t": "Estilo del puño", - "d": "Estilo del corte de la pierna" - }, - "bandBelowKnee": { - "t": "Corta debajo de la rodilla", - "d": "Controla la distancia del corte desde la rodilla" - }, - "kneeToBelow": { - "t": "Longitud del puño", - "d": "Controla la rigidez del corte en comparación con la rodilla" - }, - "ventLength": { - "t": "Longitud del ventilador", - "d": "Controla la longitud del ventilador entre la rodilla y el corte" - } - } -} diff --git a/designs/cornelius/i18n/fr.json b/designs/cornelius/i18n/fr.json deleted file mode 100644 index 4f7c02133c3..00000000000 --- a/designs/cornelius/i18n/fr.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "t": "Culotte de cyclisme Cornelius", - "d": "Cornelius est une culotte de cyclisme basé sur la méthode Keystone.", - "p": { - "back": "Back", - "front": "Front", - "frontpoints": "Front points", - "legband": "Legband", - "legbandKeystone": "Legband Keystone", - "pocket": "Pocket", - "pocketFacing": "Pocket facing", - "waistband": "Waistband", - "zipperguard": "Zipperguard" - }, - "s": { - "Vent": "Fente", - "PocketFacing": "Parement de poche" - }, - "o": { - "fullness": { - "t": "Ampleur", - "d": "Contrôle l'ampleur de la culotte" - }, - "waistbandBelowWaist": { - "t": "Abaissement de la ceinture", - "d": "Pourcentage pour déplacer la ceinture sous la taille réelle" - }, - "waistReduction": { - "t": "Réduction de la taille", - "d": "Pourcentage de réduction de la ceinture" - }, - "cuffWidth": { - "t": "Largeur du bracelet", - "d": "Largeur du bracelet de la jambe" - }, - "cuffStyle": { - "t": "Style de poignet", - "d": "Style du bracelet de la jambe" - }, - "bandBelowKnee": { - "t": "Bracelet sous le genou", - "d": "Contrôle la distance du bracelet sous le genou" - }, - "kneeToBelow": { - "t": "Longueur de poignet", - "d": "Contrôle l'épaisseur du bracelet par rapport au genou" - }, - "ventLength": { - "t": "Longueur de la fente", - "d": "Contrôle la longueur de la fente entre le genou et le bracelet" - } - } -} diff --git a/designs/cornelius/i18n/index.mjs b/designs/cornelius/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/cornelius/i18n/index.mjs +++ b/designs/cornelius/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/cornelius/i18n/nl.json b/designs/cornelius/i18n/nl.json deleted file mode 100644 index 1c3be18cda6..00000000000 --- a/designs/cornelius/i18n/nl.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "t": "Cornelius fietsen boren", - "d": "Cornelius zijn broeders aan het fietsen op basis van de methode van Sleutelsteen.", - "p": { - "back": "Back", - "front": "Front", - "frontpoints": "Front points", - "legband": "Legband", - "legbandKeystone": "Legband Keystone", - "pocket": "Pocket", - "pocketFacing": "Pocket facing", - "waistband": "Waistband", - "zipperguard": "Zipperguard" - }, - "s": { - "Vent": "Vuur", - "PocketFacing": "Zak beleg" - }, - "o": { - "fullness": { - "t": "Volle", - "d": "Bepaalt de volledigheid van de broeders" - }, - "waistbandBelowWaist": { - "t": "Onderste tailleband", - "d": "Percentage om de tailleband onder de tailleband te bewegen" - }, - "waistReduction": { - "t": "Reductie taille", - "d": "Percentage om de tailleband te verminderen" - }, - "cuffWidth": { - "t": "Cuff width", - "d": "Breedte van de manchet" - }, - "cuffStyle": { - "t": "Stijl manchet", - "d": "Stijl van de manchet" - }, - "bandBelowKnee": { - "t": "Manchet onder knie", - "d": "Bepaalt de afstand tussen de manchet en de knie" - }, - "kneeToBelow": { - "t": "Lengte manchet", - "d": "Bepaalt de dikte van de manchet in vergelijking met de knie" - }, - "ventLength": { - "t": "Vent lengte", - "d": "Bepaalt de lengte van de vent tussen de knie en de manchet" - } - } -} diff --git a/designs/cornelius/i18n/uk.json b/designs/cornelius/i18n/uk.json deleted file mode 100644 index 6cd56c6100f..00000000000 --- a/designs/cornelius/i18n/uk.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "t": "Cornelius cycling breeches", - "d": "Cornelius are cycling breeches based on the Keystone drafting method.", - "p": { - "back": "Back", - "front": "Front", - "frontpoints": "Front points", - "legband": "Legband", - "legbandKeystone": "Legband Keystone", - "pocket": "Pocket", - "pocketFacing": "Pocket facing", - "waistband": "Waistband", - "zipperguard": "Zipperguard" - }, - "s": { - "Vent": "Vent", - "PocketFacing": "Pocket facing" - }, - "o": { - "fullness": { - "t": "Fullness", - "d": "Controls the fullness of the breeches" - }, - "waistbandBelowWaist": { - "t": "Lower waistband", - "d": "Percentage to move the waistband below the actual waist" - }, - "waistReduction": { - "t": "Waist reduction", - "d": "Percentage to reduce the waistband" - }, - "cuffWidth": { - "t": "Cuff width", - "d": "Width of the leg cuff" - }, - "cuffStyle": { - "t": "Cuff style", - "d": "Style of the leg cuff" - }, - "bandBelowKnee": { - "t": "Cuff below knee", - "d": "Controls the cuff distance from the knee" - }, - "kneeToBelow": { - "t": "Cuff length", - "d": "Controls the tightness of the cuff as compared to the knee" - }, - "ventLength": { - "t": "Vent length", - "d": "Controls the length of the vent between knee and cuff" - } - } -} diff --git a/designs/cornelius/package.json b/designs/cornelius/package.json index 8da27883a0f..c840732c0ce 100644 --- a/designs/cornelius/package.json +++ b/designs/cornelius/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/cornelius", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for cycling breeches, based on the Keystone drafting system", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/cornelius/src/index.mjs b/designs/cornelius/src/index.mjs index 29398576cad..4726fa93faa 100644 --- a/designs/cornelius/src/index.mjs +++ b/designs/cornelius/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } // Parts import { frontpoints } from './frontpoints.mjs' import { front } from './front.mjs' @@ -15,7 +15,7 @@ import { i18n } from '../i18n/index.mjs' // Create new design const Cornelius = new Design({ - data, + data: about, parts: [front, back, legband, legbandKeystone, waistband, pocketFacing, pocket, zipperguard], }) @@ -32,4 +32,5 @@ export { frontpoints, Cornelius, i18n, + about, } diff --git a/designs/cornelius/tests/shared.test.mjs b/designs/cornelius/tests/shared.test.mjs index 55e384e0ae5..01923d5029b 100644 --- a/designs/cornelius/tests/shared.test.mjs +++ b/designs/cornelius/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Cornelius, i18n } from '../src/index.mjs' +import { Cornelius, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Cornelius) +testPatternConfig(Cornelius, about) // Test translation testPatternI18n(Cornelius, i18n) diff --git a/designs/diana/README.md b/designs/diana/README.md index 85fa8d1f0e2..7f924a24818 100644 --- a/designs/diana/README.md +++ b/designs/diana/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:diana - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/diana @@ -59,7 +44,7 @@ A FreeSewing pattern for a top with a draped neck > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/diana/data.mjs b/designs/diana/data.mjs deleted file mode 100644 index b1ca151ae70..00000000000 --- a/designs/diana/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/diana' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/diana/i18n/de.json b/designs/diana/i18n/de.json deleted file mode 100644 index 2b927a76815..00000000000 --- a/designs/diana/i18n/de.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "t": "Diana, das drapierte Oberteil", - "d": "Diana ist ein Oberteil mit einem drapierten Halsausschnitt.", - "p": { - "back": "Rückseite", - "front": "Vorderseite", - "sleeve": "Ärmel" - }, - "s": {}, - "o": { - "shoulderSeamLength": { - "t": "Schulternahtlänge", - "d": "Steuert die Länge der Schulternaht" - }, - "drapeAngle": { - "t": "Fallwinkel", - "d": "Steuert die Stärke des Fallwinkels" - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at your hips" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at your waist" - } - } -} diff --git a/designs/diana/i18n/es.json b/designs/diana/i18n/es.json deleted file mode 100644 index cdebb19250e..00000000000 --- a/designs/diana/i18n/es.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "t": "Diana, top de escote drapeado", - "d": "Diana es un top con un escote drapeado.", - "p": { - "back": "Atrás", - "front": "Frente", - "sleeve": "Manga" - }, - "s": {}, - "o": { - "shoulderSeamLength": { - "t": "Longitud de la costura de hombro", - "d": "Controla la longitud de la costura de hombro" - }, - "drapeAngle": { - "t": "Ángulo del drapeado", - "d": "Controla la cantidad de drapeado" - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at your hips" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at your waist" - } - } -} diff --git a/designs/diana/i18n/fr.json b/designs/diana/i18n/fr.json deleted file mode 100644 index f35a11a1975..00000000000 --- a/designs/diana/i18n/fr.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "t": "Haut drapé Diana", - "d": "Diana est un top avec un col drapé.", - "p": { - "back": "Retour", - "front": "Avant", - "sleeve": "Manche" - }, - "s": {}, - "o": { - "shoulderSeamLength": { - "t": "Longueur de couture d'épaule", - "d": "Contrôle la longueur de la couture d'épaule" - }, - "drapeAngle": { - "t": "Angle du drapé", - "d": "Contrôle le montant du drapé" - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at your hips" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at your waist" - } - } -} diff --git a/designs/diana/i18n/index.mjs b/designs/diana/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/diana/i18n/index.mjs +++ b/designs/diana/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/diana/i18n/nl.json b/designs/diana/i18n/nl.json deleted file mode 100644 index a6dc4cad598..00000000000 --- a/designs/diana/i18n/nl.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "t": "Diana top met drapage", - "d": "Diana is een top met een gedrapeerde halslijn.", - "p": { - "back": "Achterzijde", - "front": "Voorzijde", - "sleeve": "Mouw" - }, - "s": {}, - "o": { - "shoulderSeamLength": { - "t": "Lengte schoudernaad", - "d": "Bepaalt de lengte van de schoudernaad" - }, - "drapeAngle": { - "t": "Drape angle", - "d": "Bepaalt het aantal drape" - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at your hips" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at your waist" - } - } -} diff --git a/designs/diana/i18n/uk.json b/designs/diana/i18n/uk.json deleted file mode 100644 index 773ffaaa18c..00000000000 --- a/designs/diana/i18n/uk.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "t": "Diana draped top", - "d": "Diana is a top with a draped neckline.", - "p": { - "back": "Back", - "front": "Front", - "sleeve": "Sleeve" - }, - "s": {}, - "o": { - "shoulderSeamLength": { - "t": "Shoulder seam length", - "d": "Controls the length of the shoulder seam" - }, - "drapeAngle": { - "t": "Drape angle", - "d": "Controls the amount of drape" - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at your hips" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at your waist" - } - } -} diff --git a/designs/diana/package.json b/designs/diana/package.json index b25d7fc9f54..ad326322acc 100644 --- a/designs/diana/package.json +++ b/designs/diana/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/diana", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a top with a draped neck", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,50 +25,41 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/brian": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/brian": "4.0.0", + "@freesewing/plugin-bust": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/diana/src/front.mjs b/designs/diana/src/front.mjs index 4ba408068e6..7a7459c0988 100644 --- a/designs/diana/src/front.mjs +++ b/designs/diana/src/front.mjs @@ -1,6 +1,6 @@ import { front as frontBase } from '@freesewing/brian' import { back as backBase } from '@freesewing/brian' -import { hidePresets } from '@freesewing/core' +import { hidePresets, pctBasedOn } from '@freesewing/core' export function draftDianaFrontOrBack({ measurements, @@ -214,7 +214,7 @@ export const front = { // Percentages acrossBackFactor: { pct: 97, min: 93, max: 100, menu: 'advanced' }, - cuffEase: { pct: 20, min: 0, max: 30, menu: 'fit' }, + cuffEase: { pct: 20, min: 0, max: 30, ...pctBasedOn('wrist'), menu: 'fit' }, lengthBonus: { pct: 0, min: 0, max: 50, menu: 'fit' }, sleeveLengthBonus: { pct: 0, min: -40, max: 10, menu: 'fit' }, shoulderSeamLength: { pct: 35, min: 0.1, max: 60, menu: 'style' }, @@ -224,11 +224,11 @@ export const front = { frontArmholeDeeper: { pct: 0, min: 0, max: 1.5, menu: 'advanced' }, - shoulderEase: { pct: 0, min: -2, max: 6, menu: 'fit' }, - waistEase: { pct: 0, min: -10, max: 20, menu: 'fit' }, - hipsEase: { pct: 0, min: -10, max: 20, menu: 'fit' }, - chestEase: { pct: 0, min: -10, max: 20, menu: 'fit' }, - bicepsEase: { pct: 0, min: -5, max: 50, menu: 'fit' }, + shoulderEase: { pct: 0, min: -2, max: 6, ...pctBasedOn('shoulderToShoulder'), menu: 'fit' }, + waistEase: { pct: 0, min: -10, max: 20, ...pctBasedOn('waist'), menu: 'fit' }, + hipsEase: { pct: 0, min: -10, max: 20, ...pctBasedOn('hips'), menu: 'fit' }, + chestEase: { pct: 0, min: -10, max: 20, ...pctBasedOn('chest'), menu: 'fit' }, + bicepsEase: { pct: 0, min: -5, max: 50, ...pctBasedOn('biceps'), menu: 'fit' }, sleevecapEase: { pct: 0, min: 0, max: 10, menu: 'advanced.sleevecap' }, sleevecapTopFactorX: { pct: 50, min: 25, max: 75, menu: 'advanced.sleevecap' }, @@ -291,7 +291,7 @@ export const back = { // Percentages acrossBackFactor: { pct: 97, min: 93, max: 100, menu: 'advanced' }, - cuffEase: { pct: 20, min: 0, max: 30, menu: 'fit' }, + cuffEase: { pct: 20, min: 0, max: 30, ...pctBasedOn('wrist'), menu: 'fit' }, lengthBonus: { pct: 0, min: 0, max: 50, menu: 'fit' }, sleeveLengthBonus: { pct: 0, min: -40, max: 10, menu: 'fit' }, shoulderSeamLength: { pct: 35, min: 0.1, max: 60, menu: 'style' }, @@ -300,11 +300,11 @@ export const back = { frontArmholeDeeper: { pct: 0, min: 0, max: 1.5, menu: 'advanced' }, - shoulderEase: { pct: 0, min: -2, max: 6, menu: 'fit' }, - waistEase: { pct: 0, min: -10, max: 20, menu: 'fit' }, - hipsEase: { pct: 0, min: -10, max: 20, menu: 'fit' }, - chestEase: { pct: 0, min: -10, max: 20, menu: 'fit' }, - bicepsEase: { pct: 0, min: -5, max: 50, menu: 'fit' }, + shoulderEase: { pct: 0, min: -2, max: 6, ...pctBasedOn('shoulderToShoulder'), menu: 'fit' }, + waistEase: { pct: 0, min: -10, max: 20, ...pctBasedOn('waist'), menu: 'fit' }, + hipsEase: { pct: 0, min: -10, max: 20, ...pctBasedOn('hips'), menu: 'fit' }, + chestEase: { pct: 0, min: -10, max: 20, ...pctBasedOn('chest'), menu: 'fit' }, + bicepsEase: { pct: 0, min: -5, max: 50, ...pctBasedOn('biceps'), menu: 'fit' }, sleevecapEase: { pct: 0, min: 0, max: 10, menu: 'advanced.sleevecap' }, sleevecapTopFactorX: { pct: 50, min: 25, max: 75, menu: 'advanced.sleevecap' }, diff --git a/designs/diana/src/index.mjs b/designs/diana/src/index.mjs index bb78bc9d62e..f68183194f1 100644 --- a/designs/diana/src/index.mjs +++ b/designs/diana/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as dianaI18n } from '../i18n/index.mjs' // Parts @@ -8,7 +8,7 @@ import { sleeve } from './sleeve.mjs' // Create design const Diana = new Design({ - data, + data: about, parts: [front, back, sleeve], }) @@ -16,4 +16,4 @@ const Diana = new Design({ const i18n = mergeI18n([brianI18n, dianaI18n]) // Named exports -export { front, back, sleeve, Diana, i18n } +export { front, back, sleeve, Diana, i18n, about } diff --git a/designs/diana/tests/shared.test.mjs b/designs/diana/tests/shared.test.mjs index 552b2d7dc32..e7799c38561 100644 --- a/designs/diana/tests/shared.test.mjs +++ b/designs/diana/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Diana, i18n } from '../src/index.mjs' +import { Diana, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Diana) +testPatternConfig(Diana, about) // Test translation testPatternI18n(Diana, i18n) diff --git a/designs/examples/README.md b/designs/examples/README.md index 7e28fd1d14a..9dcacedb007 100644 --- a/designs/examples/README.md +++ b/designs/examples/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:examples - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/examples @@ -59,7 +44,7 @@ A FreeSewing pattern holding examples for our documentation > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/examples/data.mjs b/designs/examples/data.mjs deleted file mode 100644 index b36a1446c92..00000000000 --- a/designs/examples/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/examples' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/examples/i18n/de.json b/designs/examples/i18n/de.json deleted file mode 100644 index 3d6ebd1cffd..00000000000 --- a/designs/examples/i18n/de.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Examples", - "d": "A FreeSewing pattern with examples used throughout our documentation", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/examples/i18n/es.json b/designs/examples/i18n/es.json deleted file mode 100644 index 3d6ebd1cffd..00000000000 --- a/designs/examples/i18n/es.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Examples", - "d": "A FreeSewing pattern with examples used throughout our documentation", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/examples/i18n/fr.json b/designs/examples/i18n/fr.json deleted file mode 100644 index 3d6ebd1cffd..00000000000 --- a/designs/examples/i18n/fr.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Examples", - "d": "A FreeSewing pattern with examples used throughout our documentation", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/examples/i18n/index.mjs b/designs/examples/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/examples/i18n/index.mjs +++ b/designs/examples/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/examples/i18n/nl.json b/designs/examples/i18n/nl.json deleted file mode 100644 index 3d6ebd1cffd..00000000000 --- a/designs/examples/i18n/nl.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Examples", - "d": "A FreeSewing pattern with examples used throughout our documentation", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/examples/i18n/uk.json b/designs/examples/i18n/uk.json deleted file mode 100644 index 3d6ebd1cffd..00000000000 --- a/designs/examples/i18n/uk.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Examples", - "d": "A FreeSewing pattern with examples used throughout our documentation", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/examples/package.json b/designs/examples/package.json index fd38ccc7b87..9c4d4e1a6aa 100644 --- a/designs/examples/package.json +++ b/designs/examples/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/examples", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern holding examples for our documentation", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -20,49 +20,40 @@ "parametric design" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/plugin-gore": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/plugin-gore": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/examples/src/index.mjs b/designs/examples/src/index.mjs index b1c68e88445..0eab64aa3f2 100644 --- a/designs/examples/src/index.mjs +++ b/designs/examples/src/index.mjs @@ -1,6 +1,5 @@ import { Design } from '@freesewing/core' import { gorePlugin } from '@freesewing/plugin-gore' -import { data } from '../data.mjs' import { i18n } from '../i18n/index.mjs' // Stacks @@ -19,7 +18,6 @@ import { settings_sa } from './settings.mjs' // Setup our new design const Examples = new Design({ - data, parts: [ // Stacks stacks_top, diff --git a/designs/examples/tests/shared.test.mjs b/designs/examples/tests/shared.test.mjs index 53517eca7cb..2ee0da801d3 100644 --- a/designs/examples/tests/shared.test.mjs +++ b/designs/examples/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Examples, i18n } from '../src/index.mjs' +import { Examples, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Examples) +testPatternConfig(Examples, about) // Test translation testPatternI18n(Examples, i18n) diff --git a/designs/florence/README.md b/designs/florence/README.md index 3d51872952a..ba6195e064c 100644 --- a/designs/florence/README.md +++ b/designs/florence/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:florence - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/florence @@ -59,7 +44,7 @@ A FreeSewing pattern for a face mask > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/florence/data.mjs b/designs/florence/data.mjs deleted file mode 100644 index 71225352d75..00000000000 --- a/designs/florence/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/florence' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/florence/i18n/de.json b/designs/florence/i18n/de.json deleted file mode 100644 index b8992f73e23..00000000000 --- a/designs/florence/i18n/de.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "t": "Florence, der Mundschutz", - "d": "Florence ist ein Mundschutz.", - "p": { - "mask": "Mask" - }, - "s": {}, - "o": { - "height": { - "t": "Höhe", - "d": "Steuert die Höhe der Gesichtsmaske" - }, - "length": { - "t": "Länge", - "d": "Steuert die Länge der Gesichtsmaske" - }, - "curve": { - "t": "Krümmung", - "d": "Steuert die Krümmung der oberen Kante der Gesichtsmaske" - } - } -} diff --git a/designs/florence/i18n/es.json b/designs/florence/i18n/es.json deleted file mode 100644 index 20f64763bb6..00000000000 --- a/designs/florence/i18n/es.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "t": "Máscara de Florencia", - "d": "Florence es una mascarilla.", - "p": { - "mask": "Mask" - }, - "s": {}, - "o": { - "height": { - "t": "Altura", - "d": "Controla la altura de la mascarilla" - }, - "length": { - "t": "Longitud", - "d": "Controla la longitud de la mascarilla" - }, - "curve": { - "t": "Curva", - "d": "Controla la curvatura del borde superior de la mascarilla" - } - } -} diff --git a/designs/florence/i18n/fr.json b/designs/florence/i18n/fr.json deleted file mode 100644 index ccbe64efeb8..00000000000 --- a/designs/florence/i18n/fr.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "t": "Masque Florence", - "d": "Florence est un masque facial.", - "p": { - "mask": "Mask" - }, - "s": {}, - "o": { - "height": { - "t": "Hauteur", - "d": "Contrôle la hauteur du masque" - }, - "length": { - "t": "Longeur", - "d": "Contrôle la longueur du masque" - }, - "curve": { - "t": "Courbe", - "d": "Contrôle la courbe du bord supérieur du masque" - } - } -} diff --git a/designs/florence/i18n/index.mjs b/designs/florence/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/florence/i18n/index.mjs +++ b/designs/florence/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/florence/i18n/nl.json b/designs/florence/i18n/nl.json deleted file mode 100644 index ca9d7b28581..00000000000 --- a/designs/florence/i18n/nl.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "t": "Florence mondmasker", - "d": "Florence is een mondmasker.", - "p": { - "mask": "Mask" - }, - "s": {}, - "o": { - "height": { - "t": "Hoogte", - "d": "Bepaalt de hoogte van het mondmasker" - }, - "length": { - "t": "Lengte", - "d": "Bepaalt de lengte van het mondmasker" - }, - "curve": { - "t": "Boog", - "d": "Bepaalt de curve van de bovenrand van het mondmasker" - } - } -} diff --git a/designs/florence/i18n/uk.json b/designs/florence/i18n/uk.json deleted file mode 100644 index 8b9b1780b7d..00000000000 --- a/designs/florence/i18n/uk.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "t": "Florence face mask", - "d": "Florence is a face mask.", - "p": { - "mask": "Mask" - }, - "s": {}, - "o": { - "height": { - "t": "Height", - "d": "Controls the height of the face mask" - }, - "length": { - "t": "Length", - "d": "Controls the length of the face mask" - }, - "curve": { - "t": "Curve", - "d": "Controls the curvature of the upper edge of the face mask" - } - } -} diff --git a/designs/florence/package.json b/designs/florence/package.json index df59bb0eea1..53fc9c44972 100644 --- a/designs/florence/package.json +++ b/designs/florence/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/florence", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a face mask", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/florence/src/index.mjs b/designs/florence/src/index.mjs index 2c873a7ffb8..3b22285f668 100644 --- a/designs/florence/src/index.mjs +++ b/designs/florence/src/index.mjs @@ -1,13 +1,13 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { mask } from './mask.mjs' import { i18n } from '../i18n/index.mjs' // Setup our new design const Florence = new Design({ - data, + data: about, parts: [mask], }) // Named exports -export { mask, Florence, i18n } +export { mask, Florence, i18n, about } diff --git a/designs/florence/tests/shared.test.mjs b/designs/florence/tests/shared.test.mjs index 83b8856f783..694d266851d 100644 --- a/designs/florence/tests/shared.test.mjs +++ b/designs/florence/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Florence, i18n } from '../src/index.mjs' +import { Florence, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Florence) +testPatternConfig(Florence, about) // Test translation testPatternI18n(Florence, i18n) diff --git a/designs/florent/README.md b/designs/florent/README.md index af03f204756..29d376c33a8 100644 --- a/designs/florent/README.md +++ b/designs/florent/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:florent - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/florent @@ -59,7 +44,7 @@ A FreeSewing pattern for a flat cap > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/florent/data.mjs b/designs/florent/data.mjs deleted file mode 100644 index 1b582939969..00000000000 --- a/designs/florent/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/florent' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/florent/i18n/de.json b/designs/florent/i18n/de.json deleted file mode 100644 index bf60f509571..00000000000 --- a/designs/florent/i18n/de.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "t": "Florent, die Schiebermütze", - "d": "Florent ist eine abgerundete Schiebermütze mit einem kleinen festen Schild an der Vorderseite.", - "p": { - "brimBottom": "Brim bottom", - "brimInterfacing": "Brim interfacing", - "brimTop": "Brim Top", - "side": "Side", - "top": "Top" - }, - "s": {}, - "o": { - "headEase": { - "t": "Kopfumfangszugabe", - "d": "Bequemlichkeits-/Bewegungszugabe zum Umfang deines Kopfes" - } - } -} diff --git a/designs/florent/i18n/es.json b/designs/florent/i18n/es.json deleted file mode 100644 index 60be245fc8a..00000000000 --- a/designs/florent/i18n/es.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "t": "Florent, boina", - "d": "Florent es una boina, redondeada, con una pequeña visera rígida en en la parte de delante.", - "p": { - "brimBottom": "Brim bottom", - "brimInterfacing": "Brim interfacing", - "brimTop": "Brim Top", - "side": "Side", - "top": "Top" - }, - "s": {}, - "o": { - "headEase": { - "t": "Holgura de cabeza", - "d": "La cantidad de holgura alrededor de la cabeza" - } - } -} diff --git a/designs/florent/i18n/fr.json b/designs/florent/i18n/fr.json deleted file mode 100644 index 15826a658fb..00000000000 --- a/designs/florent/i18n/fr.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "t": "Casquette plate Florent", - "d": "Florent est une casquette plate, une casquette arrondie avec un petit bord raide à l'avant.", - "p": { - "brimBottom": "Brim bottom", - "brimInterfacing": "Brim interfacing", - "brimTop": "Brim Top", - "side": "Side", - "top": "Top" - }, - "s": {}, - "o": { - "headEase": { - "t": "Aisance de tour de tête", - "d": "La quantité d'aisance autour de votre tête" - } - } -} diff --git a/designs/florent/i18n/index.mjs b/designs/florent/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/florent/i18n/index.mjs +++ b/designs/florent/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/florent/i18n/nl.json b/designs/florent/i18n/nl.json deleted file mode 100644 index 38836fc9543..00000000000 --- a/designs/florent/i18n/nl.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "t": "Florent pet", - "d": "Florent is een klassieke platte pet, rond bovenaan met een kleine klep vooraan.", - "p": { - "brimBottom": "Brim bottom", - "brimInterfacing": "Brim interfacing", - "brimTop": "Brim Top", - "side": "Side", - "top": "Top" - }, - "s": {}, - "o": { - "headEase": { - "t": "Overwijdte hoofd", - "d": "De hoeveelheid overwijdte rond je hoofd" - } - } -} diff --git a/designs/florent/i18n/uk.json b/designs/florent/i18n/uk.json deleted file mode 100644 index af8fb25220c..00000000000 --- a/designs/florent/i18n/uk.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "t": "Florent flat cap", - "d": "Florent is a flat cap, a rounded cap with a small stiff brim in front.", - "p": { - "brimBottom": "Brim bottom", - "brimInterfacing": "Brim interfacing", - "brimTop": "Brim Top", - "side": "Side", - "top": "Top" - }, - "s": {}, - "o": { - "headEase": { - "t": "Head ease", - "d": "The amound of ease around your head" - } - } -} diff --git a/designs/florent/package.json b/designs/florent/package.json index fc816c5227f..55c71d16684 100644 --- a/designs/florent/package.json +++ b/designs/florent/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/florent", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a flat cap", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/florent/src/brimbottom.mjs b/designs/florent/src/brimbottom.mjs index 224a7a0ed46..260df600416 100644 --- a/designs/florent/src/brimbottom.mjs +++ b/designs/florent/src/brimbottom.mjs @@ -1,3 +1,5 @@ +import { pctBasedOn } from '@freesewing/core' + function draftFlorentBrimBottom({ sa, store, @@ -110,7 +112,7 @@ export const brimBottom = { topSide: 0.8, brim: 0, // Percentages - headEase: { pct: 2, min: 0, max: 5, menu: 'fit' }, + headEase: { pct: 2, min: 0, max: 5, ...pctBasedOn('head'), menu: 'fit' }, }, draft: draftFlorentBrimBottom, } diff --git a/designs/florent/src/index.mjs b/designs/florent/src/index.mjs index 07a4b7d86ff..789a3b31550 100644 --- a/designs/florent/src/index.mjs +++ b/designs/florent/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' // Parts import { top } from './top.mjs' @@ -10,9 +10,9 @@ import { brimInterfacing } from './briminterfacing.mjs' // Create new design const Florent = new Design({ - data, + data: about, parts: [top, side, brimBottom, brimTop, brimInterfacing], }) // Named exports -export { top, side, brimBottom, brimTop, brimInterfacing, Florent, i18n } +export { top, side, brimBottom, brimTop, brimInterfacing, Florent, i18n, about } diff --git a/designs/florent/src/top.mjs b/designs/florent/src/top.mjs index 2dbc4ed5e92..79ede08f107 100644 --- a/designs/florent/src/top.mjs +++ b/designs/florent/src/top.mjs @@ -1,3 +1,5 @@ +import { pctBasedOn } from '@freesewing/core' + function draftFlorentTop({ sa, points, @@ -250,7 +252,7 @@ export const top = { topSide: 0.8, brim: 0, // Percentages - headEase: { pct: 2, min: 0, max: 5, menu: 'fit' }, + headEase: { pct: 2, min: 0, max: 5, ...pctBasedOn('head'), menu: 'fit' }, }, draft: draftFlorentTop, } diff --git a/designs/florent/tests/shared.test.mjs b/designs/florent/tests/shared.test.mjs index 549f1aab0b0..b3005c122c2 100644 --- a/designs/florent/tests/shared.test.mjs +++ b/designs/florent/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Florent, i18n } from '../src/index.mjs' +import { Florent, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Florent) +testPatternConfig(Florent, about) // Test translation testPatternI18n(Florent, i18n) diff --git a/designs/gozer/README.md b/designs/gozer/README.md index 937cf708729..0c1f0d6fb35 100644 --- a/designs/gozer/README.md +++ b/designs/gozer/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:gozer - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/gozer @@ -59,7 +44,7 @@ A FreeSewing pattern for a ghost costume > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/gozer/data.mjs b/designs/gozer/data.mjs deleted file mode 100644 index 2ca97be3e33..00000000000 --- a/designs/gozer/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/gozer' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/gozer/i18n/de.json b/designs/gozer/i18n/de.json deleted file mode 100644 index 51ffe6da861..00000000000 --- a/designs/gozer/i18n/de.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Gozer", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/gozer/i18n/es.json b/designs/gozer/i18n/es.json deleted file mode 100644 index 51ffe6da861..00000000000 --- a/designs/gozer/i18n/es.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Gozer", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/gozer/i18n/fr.json b/designs/gozer/i18n/fr.json deleted file mode 100644 index 51ffe6da861..00000000000 --- a/designs/gozer/i18n/fr.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Gozer", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/gozer/i18n/index.mjs b/designs/gozer/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/gozer/i18n/index.mjs +++ b/designs/gozer/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/gozer/i18n/nl.json b/designs/gozer/i18n/nl.json deleted file mode 100644 index 51ffe6da861..00000000000 --- a/designs/gozer/i18n/nl.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Gozer", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/gozer/i18n/uk.json b/designs/gozer/i18n/uk.json deleted file mode 100644 index 51ffe6da861..00000000000 --- a/designs/gozer/i18n/uk.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Gozer", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/gozer/package.json b/designs/gozer/package.json index 6814368b2dc..6e9ba40dc1e 100644 --- a/designs/gozer/package.json +++ b/designs/gozer/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/gozer", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a ghost costume", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/gozer/src/index.mjs b/designs/gozer/src/index.mjs index e7eaddaa418..96075c89ad2 100644 --- a/designs/gozer/src/index.mjs +++ b/designs/gozer/src/index.mjs @@ -1,16 +1,14 @@ -// - import { Design } from '@freesewing/core' import { i18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } // Parts import { ghost } from './ghost.mjs' // Create new design const Gozer = new Design({ - data, + data: about, parts: [ghost], }) // Named exports -export { ghost, i18n, Gozer } +export { ghost, Gozer, i18n, about } diff --git a/designs/gozer/tests/shared.test.mjs b/designs/gozer/tests/shared.test.mjs index 7d3887720d8..029ae3269f8 100644 --- a/designs/gozer/tests/shared.test.mjs +++ b/designs/gozer/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Gozer, i18n } from '../src/index.mjs' +import { Gozer, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Gozer) +testPatternConfig(Gozer, about) // Test translation testPatternI18n(Gozer, i18n) diff --git a/designs/hi/README.md b/designs/hi/README.md index e86cd1bbe4b..8f194ff12df 100644 --- a/designs/hi/README.md +++ b/designs/hi/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:hi - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/hi @@ -59,7 +44,7 @@ A FreeSewing pattern for a shark plush toy > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/hi/data.mjs b/designs/hi/data.mjs deleted file mode 100644 index b3233f48725..00000000000 --- a/designs/hi/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/hi' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/hi/i18n/de.json b/designs/hi/i18n/de.json deleted file mode 100644 index 2d6f974b5e1..00000000000 --- a/designs/hi/i18n/de.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "t": "Hi, der Hai", - "d": "Der freundlichste Hai der Welt", - "p": { - "aboveMouth": "Above mouth", - "belly": "Belly", - "body": "Body", - "bottomFin": "Bottom fin", - "lowerTeeth": "Lower teetch", - "mouth": "Mouth", - "tail": "Tail", - "topFin": "Top fin", - "upperTeeth": "Upper teeth" - }, - "s": {}, - "o": { - "hungry": { - "t": "Hungrig", - "d": "Ändert die Mundform, um zu vermitteln, dass Hi hungrig ist" - }, - "nosePointiness": { - "t": "Nasenspitzigkeit", - "d": "Steuert, wie spitz die Nase von Hi ist" - }, - "aggressive": { - "t": "Aggressiv", - "d": "Gibt Hi spitze Zähne, oder nicht" - }, - "size": { - "t": "Größe", - "d": "Haie gibt es in allen Größen, und Hi genauso" - } - } -} diff --git a/designs/hi/i18n/es.json b/designs/hi/i18n/es.json deleted file mode 100644 index d39a8459593..00000000000 --- a/designs/hi/i18n/es.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "t": "Hi shark plush toy", - "d": "The world's friendliest shark", - "p": { - "aboveMouth": "Above mouth", - "belly": "Belly", - "body": "Body", - "bottomFin": "Bottom fin", - "lowerTeeth": "Lower teetch", - "mouth": "Mouth", - "tail": "Tail", - "topFin": "Top fin", - "upperTeeth": "Upper teeth" - }, - "s": {}, - "o": { - "hungry": { - "t": "Hambre", - "d": "Cambios en la forma de la boca para expresar que Hi tiene hambre" - }, - "nosePointiness": { - "t": "Agudeza de la nariz", - "d": "Controla cómo de puntiaguda es la nariz de Hi" - }, - "aggressive": { - "t": "Agresividad", - "d": "Ponle o no dientes puntiagudos a Hi" - }, - "size": { - "t": "Tamaño", - "d": "Los tiburones vienen en todos los tamaños, y Hi también" - } - } -} diff --git a/designs/hi/i18n/fr.json b/designs/hi/i18n/fr.json deleted file mode 100644 index cce151f0f14..00000000000 --- a/designs/hi/i18n/fr.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "t": "Hi le requin", - "d": "Le requin le plus amical du monde", - "p": { - "aboveMouth": "Above mouth", - "belly": "Belly", - "body": "Body", - "bottomFin": "Bottom fin", - "lowerTeeth": "Lower teetch", - "mouth": "Mouth", - "tail": "Tail", - "topFin": "Top fin", - "upperTeeth": "Upper teeth" - }, - "s": {}, - "o": { - "hungry": { - "t": "Affamé", - "d": "Change la forme de la bouche pour voir que Hi a faim" - }, - "nosePointiness": { - "t": "Forme pointue du nez", - "d": "Contrôle comment le nez de Hi est pointu" - }, - "aggressive": { - "t": "Agressif", - "d": "Donnez des dents pointues à Hi, ou non" - }, - "size": { - "t": "Taille", - "d": "Les requins sont disponibles dans toutes les tailles, tout comme Hi" - } - } -} diff --git a/designs/hi/i18n/index.mjs b/designs/hi/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/hi/i18n/index.mjs +++ b/designs/hi/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/hi/i18n/nl.json b/designs/hi/i18n/nl.json deleted file mode 100644 index 95f873bc589..00000000000 --- a/designs/hi/i18n/nl.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "t": "Hi shark plush toy", - "d": "The world's friendliest shark", - "p": { - "aboveMouth": "Above mouth", - "belly": "Belly", - "body": "Body", - "bottomFin": "Bottom fin", - "lowerTeeth": "Lower teetch", - "mouth": "Mouth", - "tail": "Tail", - "topFin": "Top fin", - "upperTeeth": "Upper teeth" - }, - "s": {}, - "o": { - "hungry": { - "t": "Hungry", - "d": "Changes the mouth shape to convey Hi is hungry" - }, - "nosePointiness": { - "t": "Nose pointiness", - "d": "Controls how pointy Hi's nose is" - }, - "aggressive": { - "t": "Aggressive", - "d": "Give Hi pointy teeth, or not" - }, - "size": { - "t": "Maat", - "d": "Sharks come in all sizes, and so does Hi" - } - } -} diff --git a/designs/hi/i18n/uk.json b/designs/hi/i18n/uk.json deleted file mode 100644 index fe70d574b9c..00000000000 --- a/designs/hi/i18n/uk.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "t": "Hi the shark", - "d": "The world's friendliest shark", - "p": { - "aboveMouth": "Above mouth", - "belly": "Belly", - "body": "Body", - "bottomFin": "Bottom fin", - "lowerTeeth": "Lower teetch", - "mouth": "Mouth", - "tail": "Tail", - "topFin": "Top fin", - "upperTeeth": "Upper teeth" - }, - "s": {}, - "o": { - "hungry": { - "t": "Hungry", - "d": "Changes the mouth shape to convey Hi is hungry" - }, - "nosePointiness": { - "t": "Nose pointiness", - "d": "Controls how pointy Hi's nose is" - }, - "aggressive": { - "t": "Aggressive", - "d": "Give Hi pointy teeth, or not" - }, - "size": { - "t": "Size", - "d": "Sharks come in all sizes, and so does Hi" - } - } -} diff --git a/designs/hi/package.json b/designs/hi/package.json index 78d387a78ca..89ecdd39b9d 100644 --- a/designs/hi/package.json +++ b/designs/hi/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/hi", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a shark plush toy", "author": "woutervdub (https://github.com/woutervdub)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/hi/src/index.mjs b/designs/hi/src/index.mjs index 9dd53d8fd20..5ddc78f1c48 100644 --- a/designs/hi/src/index.mjs +++ b/designs/hi/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' // Parts import { body } from './body.mjs' @@ -14,7 +14,7 @@ import { upperTeeth } from './upperTeeth.mjs' // Create design const Hi = new Design({ - data, + data: about, parts: [body, tail, mouth, aboveMouth, belly, topOfFin, bottomOfFin, lowerTeeth, upperTeeth], }) @@ -31,4 +31,5 @@ export { upperTeeth, Hi, i18n, + about, } diff --git a/designs/hi/tests/shared.test.mjs b/designs/hi/tests/shared.test.mjs index 60cc9afc985..b66ce7f65a4 100644 --- a/designs/hi/tests/shared.test.mjs +++ b/designs/hi/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Hi, i18n } from '../src/index.mjs' +import { Hi, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Hi) +testPatternConfig(Hi, about) // Test translation testPatternI18n(Hi, i18n) diff --git a/designs/holmes/README.md b/designs/holmes/README.md index caf08eef862..2702a2fa6d7 100644 --- a/designs/holmes/README.md +++ b/designs/holmes/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:holmes - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/holmes @@ -59,7 +44,7 @@ A FreeSewing pattern for a Sherlock Holmes hat > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/holmes/data.mjs b/designs/holmes/data.mjs deleted file mode 100644 index 595c51600a3..00000000000 --- a/designs/holmes/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/holmes' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/holmes/i18n/de.json b/designs/holmes/i18n/de.json deleted file mode 100644 index 5b7768ffb98..00000000000 --- a/designs/holmes/i18n/de.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "t": "Holmes Deerstalker-Hut", - "d": "Für Sherlock Holmes-Cosplay oder einfach nur als niedlicher Hut.", - "p": { - "ear": "Ear", - "gore": "Gore", - "visor": "Visor" - }, - "s": {}, - "o": { - "headEase": { - "t": "Kopfumfangszugabe", - "d": "Bequemlichkeits-/Bewegungszugabe zum Umfang deines Kopfes." - }, - "lengthRatio": { - "t": "Längenverhältnis", - "d": "Kontrolliert die Länge der Hutkrone und Ohrklappen" - }, - "gores": { - "t": "Anzahl der Keile", - "d": "Anzahl der Keile, die die Hutkrone zu bilden" - }, - "visorAngle": { - "t": "Winkel des Mützenschirms", - "d": "Winkel, der die innere Kurve des Mützenschirms beschreibt" - }, - "visorWidth": { - "t": "Breite des Mützenschirms", - "d": "Steuert die Breite des Mützenschirms" - }, - "earLength": { - "t": "Länge der Ohrklappen", - "d": "Steuert die Länge der Ohrklappen unabhängig von den Kronenstücken" - }, - "earWidth": { - "t": "Breite der Ohrklappen", - "d": "Steuert die Breite der Ohrklappen" - }, - "buttonhole": { - "t": "Führung für das Knopfloch", - "d": "Fügt der Ohrklappe einen Knopfloch hinzu, um die Variante mit Knopflochs zu entwerfen" - }, - "visorLength": { - "t": "Länge des Mützenschirmes", - "d": "Steuert die Länge des Mützenschirms" - } - } -} diff --git a/designs/holmes/i18n/es.json b/designs/holmes/i18n/es.json deleted file mode 100644 index b2d8d132748..00000000000 --- a/designs/holmes/i18n/es.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "t": "Holmes, sombrero deerstalker o cervadora", - "d": "Para un cosplay de Sherlock Holmes o simplemente un sombrero bonito.", - "p": { - "ear": "Ear", - "gore": "Gore", - "visor": "Visor" - }, - "s": {}, - "o": { - "headEase": { - "t": "Holgura de cabeza", - "d": "La cantidad de facilidad alrededor de tu cabeza." - }, - "lengthRatio": { - "t": "Ratio de longitud", - "d": "Controls the length of the crown and ear flaps" - }, - "gores": { - "t": "Número de paneles", - "d": "The number of gores used to construct the crown" - }, - "visorAngle": { - "t": "Visor angle", - "d": "The arc angle used to draft the inner curve of the visor" - }, - "visorWidth": { - "t": "Visor width", - "d": "Controls the width of the visor" - }, - "earLength": { - "t": "Ear flap length", - "d": "Controls the length of the ear flaps independently from the crown pieces" - }, - "earWidth": { - "t": "Ear flap width", - "d": "Controls the width of the ear flaps" - }, - "buttonhole": { - "t": "Buttonhole guide", - "d": "Adds a buttonhole to the ear flap to help you draft the buttonhole ear flap variant" - }, - "visorLength": { - "t": "Visor length", - "d": "Controls the length of the visor" - } - } -} diff --git a/designs/holmes/i18n/fr.json b/designs/holmes/i18n/fr.json deleted file mode 100644 index 04096544898..00000000000 --- a/designs/holmes/i18n/fr.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "t": "Casquette de détective Holmes", - "d": "Pour un cosplay Sherlock Holmes, ou juste un joli manteau.", - "p": { - "ear": "Ear", - "gore": "Gore", - "visor": "Visor" - }, - "s": {}, - "o": { - "headEase": { - "t": "Aisance du tour de tête", - "d": "La quantité d'aisance autour de votre tête." - }, - "lengthRatio": { - "t": "Profondeur de tête", - "d": "Contrôle la longueur de la couronne et des rabats d'oreilles" - }, - "gores": { - "t": "Nombre de pans", - "d": "Le nombre de pans utilisés pour construire la couronne" - }, - "visorAngle": { - "t": "Angle de la visière", - "d": "L'angle d'arc utilisé pour tracer la courbe intérieure de la visière" - }, - "visorWidth": { - "t": "Largeur de la visière", - "d": "Contrôle la largeur de la visière" - }, - "earLength": { - "t": "Longueur du rabat de l'oreille", - "d": "Contrôle la longueur des rabats de l'oreille indépendamment des autres pièces de contour" - }, - "earWidth": { - "t": "Largeur du rabat de l'oreille", - "d": "Contrôle la largeur des rabats de l'oreille" - }, - "buttonhole": { - "t": "Guide des boutonnières", - "d": "Ajoute une boutonnière au rabat d'oreille pour vous aider à tracer la variante du rabat de l'oreille avec boutonnière" - }, - "visorLength": { - "t": "Longueur de la visière", - "d": "Contrôle la longueur de la visière" - } - } -} diff --git a/designs/holmes/i18n/index.mjs b/designs/holmes/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/holmes/i18n/index.mjs +++ b/designs/holmes/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/holmes/i18n/nl.json b/designs/holmes/i18n/nl.json deleted file mode 100644 index 7dbfcd3d694..00000000000 --- a/designs/holmes/i18n/nl.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "t": "Holmes deerstanker hoed", - "d": "Voor als je Sherlock Holmes wil spelen, of gewoon een leuk hoedje zoekt.", - "p": { - "ear": "Ear", - "gore": "Gore", - "visor": "Visor" - }, - "s": {}, - "o": { - "headEase": { - "t": "Overwijdte hoofd", - "d": "De hoeveelheid overwijdte rond je hoofd." - }, - "lengthRatio": { - "t": "Lengteratio", - "d": "Controls the length of the crown and ear flaps" - }, - "gores": { - "t": "Aantal panden", - "d": "The number of gores used to construct the crown" - }, - "visorAngle": { - "t": "Visor hoek", - "d": "The arc angle used to draft the inner curve of the visor" - }, - "visorWidth": { - "t": "Visor breedte", - "d": "Bepaalt de breedte van de visor" - }, - "earLength": { - "t": "Ear flap length", - "d": "Controls the length of the ear flaps independently from the crown pieces" - }, - "earWidth": { - "t": "Ear flap width", - "d": "Controls the width of the ear flaps" - }, - "buttonhole": { - "t": "Buttonhole guide", - "d": "Adds a buttonhole to the ear flap to help you draft the buttonhole ear flap variant" - }, - "visorLength": { - "t": "Visor lengte", - "d": "Bepaalt de lengte van de visor" - } - } -} diff --git a/designs/holmes/i18n/uk.json b/designs/holmes/i18n/uk.json deleted file mode 100644 index 142de1e8b37..00000000000 --- a/designs/holmes/i18n/uk.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "t": "Holmes deerstalker hat", - "d": "For Sherlock Holmes cosplay or just a cute hat.", - "p": { - "ear": "Ear", - "gore": "Gore", - "visor": "Visor" - }, - "s": {}, - "o": { - "headEase": { - "t": "Head ease", - "d": "The amount of ease around your head." - }, - "lengthRatio": { - "t": "Length ratio", - "d": "Controls the length of the crown and ear flaps" - }, - "gores": { - "t": "Number of gores", - "d": "The number of gores used to construct the crown" - }, - "visorAngle": { - "t": "Visor angle", - "d": "The arc angle used to draft the inner curve of the visor" - }, - "visorWidth": { - "t": "Visor width", - "d": "Controls the width of the visor" - }, - "earLength": { - "t": "Ear flap length", - "d": "Controls the length of the ear flaps independently from the crown pieces" - }, - "earWidth": { - "t": "Ear flap width", - "d": "Controls the width of the ear flaps" - }, - "buttonhole": { - "t": "Buttonhole guide", - "d": "Adds a buttonhole to the ear flap to help you draft the buttonhole ear flap variant" - }, - "visorLength": { - "t": "Visor length", - "d": "Controls the length of the visor" - } - } -} diff --git a/designs/holmes/package.json b/designs/holmes/package.json index 72cad7eaaaf..3934f62f333 100644 --- a/designs/holmes/package.json +++ b/designs/holmes/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/holmes", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a Sherlock Holmes hat", "author": "AlfaLyr (https://github.com/alfalyr)", "homepage": "https://freesewing.org/", @@ -25,51 +25,42 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/plugin-bust": "4.0.0" }, "dependencies": { - "@freesewing/plugin-gore": "3.3.0-rc.1" + "@freesewing/plugin-gore": "4.0.0" }, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/holmes/src/crown.mjs b/designs/holmes/src/crown.mjs index 215a0672527..371402e7d57 100644 --- a/designs/holmes/src/crown.mjs +++ b/designs/holmes/src/crown.mjs @@ -1,4 +1,5 @@ import { pluginGore } from '@freesewing/plugin-gore' +import { pctBasedOn } from '@freesewing/core' function draftHolmesCrown({ Point, @@ -101,7 +102,7 @@ export const crown = { metric: [6, 13, 19, 25, 32, 38, 44, 50], imperial: [6.35, 12.7, 19.05, 25.4, 31.75, 38.1, 44.45, 50.8], }, - toAbs: (pct, { measurements }) => measurements.head * pct, + ...pctBasedOn('head'), menu: 'fit', }, lengthRatio: { pct: 55, min: 40, max: 60, menu: 'style' }, diff --git a/designs/holmes/src/ear.mjs b/designs/holmes/src/ear.mjs index 7f548fa4a13..1fb25c4839f 100644 --- a/designs/holmes/src/ear.mjs +++ b/designs/holmes/src/ear.mjs @@ -1,3 +1,5 @@ +import { pctBasedOn } from '@freesewing/core' + function draftHolmesEar({ Point, points, @@ -104,7 +106,7 @@ export const ear = { metric: [6, 13, 19, 25, 32, 38, 44, 50], imperial: [6.35, 12.7, 19.05, 25.4, 31.75, 38.1, 44.45, 50.8], }, - toAbs: (pct, { measurements }) => measurements.head * pct, + ...pctBasedOn('head'), menu: 'fit', }, lengthRatio: { pct: 55, min: 40, max: 60, menu: 'style' }, diff --git a/designs/holmes/src/index.mjs b/designs/holmes/src/index.mjs index eae9ba7a3d5..2caa5b1e7b0 100644 --- a/designs/holmes/src/index.mjs +++ b/designs/holmes/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' // Parts @@ -9,9 +9,9 @@ import { ear } from './ear.mjs' // Create new design const Holmes = new Design({ - data, + data: about, parts: [crown, visor, ear], }) // Named exports -export { crown, visor, ear, Holmes, i18n } +export { crown, visor, ear, Holmes, i18n, about } diff --git a/designs/holmes/src/visor.mjs b/designs/holmes/src/visor.mjs index 814c6f18259..0ad54c32cae 100644 --- a/designs/holmes/src/visor.mjs +++ b/designs/holmes/src/visor.mjs @@ -123,7 +123,7 @@ export const visor = { metric: [6, 13, 19, 25, 32, 38, 44, 50], imperial: [6.35, 12.7, 19.05, 25.4, 31.75, 38.1, 44.45, 50.8], }, - toAbs: (pct, { measurements }) => measurements.head * pct, + ...pctBasedOn('head'), menu: 'fit', }, visorAngle: { deg: 45, min: 10, max: 90, menu: 'style' }, diff --git a/designs/holmes/tests/shared.test.mjs b/designs/holmes/tests/shared.test.mjs index 3ba6f3cc3a8..bd0cfa35e6a 100644 --- a/designs/holmes/tests/shared.test.mjs +++ b/designs/holmes/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Holmes, i18n } from '../src/index.mjs' +import { Holmes, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Holmes) +testPatternConfig(Holmes, about) // Test translation testPatternI18n(Holmes, i18n) diff --git a/designs/hortensia/README.md b/designs/hortensia/README.md index 9c36c8a489b..e37485d093f 100644 --- a/designs/hortensia/README.md +++ b/designs/hortensia/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:hortensia - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/hortensia @@ -59,7 +44,7 @@ A FreeSewing pattern for a handbag > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/hortensia/data.mjs b/designs/hortensia/data.mjs deleted file mode 100644 index 123d7b2bcb5..00000000000 --- a/designs/hortensia/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/hortensia' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/hortensia/i18n/de.json b/designs/hortensia/i18n/de.json deleted file mode 100644 index 169be419fac..00000000000 --- a/designs/hortensia/i18n/de.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "t": "Hortensia, die Handtasche", - "d": "Hortensia ist eine Handtasche.", - "p": { - "bottompanel": "Bottom panel", - "frontpanel": "Front panel", - "sidepanel": "Side panel", - "sidepanelreinforcement": "Side panel reinforcement", - "strap": "Strap", - "zipperpanel": "Zipper panel" - }, - "s": { - "SidePanel": "Seitenstück", - "FrontBackPanel": "Vorder- und Rückseite", - "BottomPanel": "Unteres Teil", - "ZipperPanel": "Reißverschluss", - "Strap": "Griff", - "strapLength": "Länge der Griffe", - "handleWidth": "Breite der Griffe", - "zipperSize": "Standard Reißverschlussgröße", - "SidePanelReinforcement": "Seitenverstärker" - }, - "o": { - "size": { - "t": "Grösse", - "d": "Steuert die Gesamtgröße der Handtasche" - }, - "zipperSize": { - "t": "Größe des Reißverschlusses", - "d": "Welche Reißverschlussgröße verwendet werden soll" - }, - "strapLength": { - "t": "Riemenlänge", - "d": "Steuert die Riemenlänge" - }, - "handleWidth": { - "t": "Breite des Griffes", - "d": "Steuert die Breite des Griffes" - } - } -} diff --git a/designs/hortensia/i18n/es.json b/designs/hortensia/i18n/es.json deleted file mode 100644 index 016eb388d9e..00000000000 --- a/designs/hortensia/i18n/es.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "t": "Hortensia, bolso de mano", - "d": "Hortensia es un bolso de mano.", - "p": { - "bottompanel": "Bottom panel", - "frontpanel": "Front panel", - "sidepanel": "Side panel", - "sidepanelreinforcement": "Side panel reinforcement", - "strap": "Strap", - "zipperpanel": "Zipper panel" - }, - "s": { - "SidePanel": "Panel lateral", - "FrontBackPanel": "Panel frontal y trasero", - "BottomPanel": "Panel Principal", - "ZipperPanel": "Panel de Caparazón", - "Strap": "Referencia", - "strapLength": "Longitud de los Manejos", - "handleWidth": "Ancho de las asas", - "zipperSize": "Tamaño estándar de zipper", - "SidePanelReinforcement": "Ocultar Panel de Refuerzos" - }, - "o": { - "size": { - "t": "Tamaño", - "d": "Controla el tamaño total del bolso" - }, - "zipperSize": { - "t": "Tamaño Zipper", - "d": "Qué tamaño de zipper usar" - }, - "strapLength": { - "t": "Longitud del Strp", - "d": "Controla la longitud de la correa" - }, - "handleWidth": { - "t": "Anchura del Manejo", - "d": "Controla el ancho del asa" - } - } -} diff --git a/designs/hortensia/i18n/fr.json b/designs/hortensia/i18n/fr.json deleted file mode 100644 index f7bd708085b..00000000000 --- a/designs/hortensia/i18n/fr.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "t": "Sac à main Hortensia", - "d": "Hortensia est un sac à main.", - "p": { - "bottompanel": "Bottom panel", - "frontpanel": "Front panel", - "sidepanel": "Side panel", - "sidepanelreinforcement": "Side panel reinforcement", - "strap": "Strap", - "zipperpanel": "Zipper panel" - }, - "s": { - "SidePanel": "Panneau latéral", - "FrontBackPanel": "Panneau avant et arrière", - "BottomPanel": "Panneau inférieur", - "ZipperPanel": "Panneau de zip", - "Strap": "Référence", - "strapLength": "Longueur des anses", - "handleWidth": "Largeur des anses", - "zipperSize": "Taille standard de zip", - "SidePanelReinforcement": "Panneau de renforcement latéral" - }, - "o": { - "size": { - "t": "Taille", - "d": "Contrôle la taille globale du sac à main" - }, - "zipperSize": { - "t": "Taille du Zip", - "d": "Quelle taille de zip utliser" - }, - "strapLength": { - "t": "Longueur du lien", - "d": "Contrôle la longueur des anses" - }, - "handleWidth": { - "t": "Largeur d'anse", - "d": "Contrôle la largeur de l'anse" - } - } -} diff --git a/designs/hortensia/i18n/index.mjs b/designs/hortensia/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/hortensia/i18n/index.mjs +++ b/designs/hortensia/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/hortensia/i18n/nl.json b/designs/hortensia/i18n/nl.json deleted file mode 100644 index 99ae8e6ed83..00000000000 --- a/designs/hortensia/i18n/nl.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "t": "Hortensia handtas", - "d": "Hortensie is een handzak.", - "p": { - "bottompanel": "Bottom panel", - "frontpanel": "Front panel", - "sidepanel": "Side panel", - "sidepanelreinforcement": "Side panel reinforcement", - "strap": "Strap", - "zipperpanel": "Zipper panel" - }, - "s": { - "SidePanel": "Zijkant paneel", - "FrontBackPanel": "Voor- en achterpaneel", - "BottomPanel": "Onderste paneel", - "ZipperPanel": "Rits Paneel", - "Strap": "Referentie", - "strapLength": "Lengte van de hengsels", - "handleWidth": "Breedte van de handvatten", - "zipperSize": "Standaard ritsgrootte", - "SidePanelReinforcement": "Zijkant Versterking Paneel" - }, - "o": { - "size": { - "t": "Maat", - "d": "Bepaalt de totale grootte van de handtas" - }, - "zipperSize": { - "t": "Rits grootte", - "d": "Welke afmeting van de rits te gebruiken" - }, - "strapLength": { - "t": "Rep lengte", - "d": "Bepaalt de lengte van de band" - }, - "handleWidth": { - "t": "Afhandeling breedte", - "d": "Bepaalt de breedte van het handvat" - } - } -} diff --git a/designs/hortensia/i18n/uk.json b/designs/hortensia/i18n/uk.json deleted file mode 100644 index a1ef7162e72..00000000000 --- a/designs/hortensia/i18n/uk.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "t": "Hortensia handbag", - "d": "Hortensia is a handbag.", - "p": { - "bottompanel": "Bottom panel", - "frontpanel": "Front panel", - "sidepanel": "Side panel", - "sidepanelreinforcement": "Side panel reinforcement", - "strap": "Strap", - "zipperpanel": "Zipper panel" - }, - "s": { - "SidePanel": "Side Panel", - "FrontBackPanel": "Front and Back Panel", - "BottomPanel": "Bottom Panel", - "ZipperPanel": "Zipper Panel", - "Strap": "Handle", - "strapLength": "Length of the Handles", - "handleWidth": "Width of the handles", - "zipperSize": "Standard zipper size", - "SidePanelReinforcement": "Side Reinforcement Panel" - }, - "o": { - "size": { - "t": "Size", - "d": "Controls the overall size of the handbag" - }, - "zipperSize": { - "t": "Zipper size", - "d": "Which size of zipper to use" - }, - "strapLength": { - "t": "Strap length", - "d": "Controls the length of the strap" - }, - "handleWidth": { - "t": "Handle width", - "d": "Controls the width of the handle" - } - } -} diff --git a/designs/hortensia/package.json b/designs/hortensia/package.json index eddcaf3c016..de6ae5f43f6 100644 --- a/designs/hortensia/package.json +++ b/designs/hortensia/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/hortensia", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a handbag", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/hortensia/src/index.mjs b/designs/hortensia/src/index.mjs index 24c27502460..83bb93ee951 100644 --- a/designs/hortensia/src/index.mjs +++ b/designs/hortensia/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' // Parts import { sidePanel } from './sidepanel.mjs' @@ -11,7 +11,7 @@ import { strap } from './strap.mjs' // Create new design const Hortensia = new Design({ - data, + data: about, parts: [sidePanel, frontPanel, bottomPanel, zipperPanel, sidePanelReinforcement, strap], }) @@ -25,4 +25,5 @@ export { strap, Hortensia, i18n, + about, } diff --git a/designs/hortensia/tests/shared.test.mjs b/designs/hortensia/tests/shared.test.mjs index cc20e4c843d..1eee2f2b476 100644 --- a/designs/hortensia/tests/shared.test.mjs +++ b/designs/hortensia/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Hortensia, i18n } from '../src/index.mjs' +import { Hortensia, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Hortensia) +testPatternConfig(Hortensia, about) // Test translation testPatternI18n(Hortensia, i18n) diff --git a/designs/huey/CHANGELOG.md b/designs/huey/CHANGELOG.md index 679f1e0e8a9..ad0e06cef43 100644 --- a/designs/huey/CHANGELOG.md +++ b/designs/huey/CHANGELOG.md @@ -1,6 +1,18 @@ # Change log for: @freesewing/huey +## 4.0.0 (2024-04-01) + +### Changed + + - The lengthBonus option default was changed from 0% to 15%. Fixes + +### Fixed + + - Fixed an issue where ribbing height would distort the pocket under certain conditions. Fixes + - Adding missing translation for ribbing option + - Hide unused ribbing parts when ribbing option is disabled + ## 3.1.0 (2023-12-26) ### Changed diff --git a/designs/huey/README.md b/designs/huey/README.md index b91235a9d67..374709bee94 100644 --- a/designs/huey/README.md +++ b/designs/huey/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:huey - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/huey @@ -59,7 +44,7 @@ A FreeSewing pattern for a zip-up hoodie > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/huey/data.mjs b/designs/huey/data.mjs deleted file mode 100644 index 8c8a6363328..00000000000 --- a/designs/huey/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/huey' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/huey/i18n/de.json b/designs/huey/i18n/de.json deleted file mode 100644 index a2fb8b3346b..00000000000 --- a/designs/huey/i18n/de.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "t": "Huey, der Hoodie", - "d": "Huey ist ein Hoodie mit Reißverschluss und optionalen Taschen auf der Vorderseite.", - "p": { - "back": "Back", - "cuff": "Cuff", - "front": "Front", - "hood": "Hood", - "pocket": "Pocket", - "sleeve": "Sleeve", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "pocket": { - "t": "Tasche", - "d": "Legt fest, ob vordere Taschen integriert werden oder nicht" - }, - "pocketHeight": { - "t": "Taschenhöhe", - "d": "Steuert die Höhe der Tasche" - }, - "hoodHeight": { - "t": "Kapuzenhöhe", - "d": "Steuert die Höhe der Kapuze" - }, - "hoodCutback": { - "t": "Kapuzenausschnitt", - "d": "Leg fest, wie weit die Öffnung der Kapuze zurückgeschnitten wird" - }, - "hoodClosure": { - "t": "Kapuzenverschluss", - "d": "Legt fest, wie viel von der der Kapuze zum vorderen Verschluss gehört" - }, - "hoodDepth": { - "t": "Kapuzentiefe", - "d": "Steuert die Tiefe der Kapuze" - }, - "hoodAngle": { - "t": "Winkel der Kapuze", - "d": "Steuert den Winkel, mit welchem die Kapuze angebracht wird" - } - } -} diff --git a/designs/huey/i18n/es.json b/designs/huey/i18n/es.json deleted file mode 100644 index f8007096e37..00000000000 --- a/designs/huey/i18n/es.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "t": "Huey, sudadera con capucha", - "d": "Huey es una sudadera con capucha, cremallera y bolsillos delanteros opcionales.", - "p": { - "back": "Back", - "cuff": "Cuff", - "front": "Front", - "hood": "Hood", - "pocket": "Pocket", - "sleeve": "Sleeve", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "pocket": { - "t": "Bolsillo", - "d": "Si se añade un bolsillo delantero o no" - }, - "pocketHeight": { - "t": "Altura de bolsillo", - "d": "Controla la altura del bolsillo" - }, - "hoodHeight": { - "t": "Altura de capucha", - "d": "Controla la altura del capucha" - }, - "hoodCutback": { - "t": "Recorta capucha", - "d": "Controla cómo abrir el capó se recorta" - }, - "hoodClosure": { - "t": "Cierre de capucha", - "d": "Controla la parte del capó que forma parte del cierre frontal" - }, - "hoodDepth": { - "t": "Profundidad de capucha", - "d": "Controla la profundidad del capucha" - }, - "hoodAngle": { - "t": "Angulo de capucha", - "d": "Controla el ángulo en el que la capucha es unida" - } - } -} diff --git a/designs/huey/i18n/fr.json b/designs/huey/i18n/fr.json deleted file mode 100644 index 2005fefdf47..00000000000 --- a/designs/huey/i18n/fr.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "t": "Sweat zippé à capuche Huey", - "d": "Huey est un sweat à capuche zippé avec poches avant optionnelles.", - "p": { - "back": "Back", - "cuff": "Cuff", - "front": "Front", - "hood": "Hood", - "pocket": "Pocket", - "sleeve": "Sleeve", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "pocket": { - "t": "Poche", - "d": "S'il faut inclure une poche avant ou non" - }, - "pocketHeight": { - "t": "Hauteur de la poche", - "d": "Contrôle la hauteur de la poche" - }, - "hoodHeight": { - "t": "Hauteur de capuche", - "d": "Contrôle la hauteur de la capuche" - }, - "hoodCutback": { - "t": "Coupe arrière de capuche", - "d": "Contrôle la courbure à l'arrière de la capuche" - }, - "hoodClosure": { - "t": "Fermeture de capuche", - "d": "Contrôle la quantité de capuche sur la partie avant" - }, - "hoodDepth": { - "t": "Profondeur du capuche", - "d": "Contrôle la profondeur de la capuche" - }, - "hoodAngle": { - "t": "Angle de capuche", - "d": "Contrôle l'angle de fixation de la capuche" - } - } -} diff --git a/designs/huey/i18n/index.mjs b/designs/huey/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/huey/i18n/index.mjs +++ b/designs/huey/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/huey/i18n/nl.json b/designs/huey/i18n/nl.json deleted file mode 100644 index 5183cab23d4..00000000000 --- a/designs/huey/i18n/nl.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "t": "Huey Hoodie", - "d": "Huey is een trui met kap met een rits, en optionele voorzakken.", - "p": { - "back": "Back", - "cuff": "Cuff", - "front": "Front", - "hood": "Hood", - "pocket": "Pocket", - "sleeve": "Sleeve", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "pocket": { - "t": "Zak", - "d": "Of een voorzak moet worden toegevoegd of niet" - }, - "pocketHeight": { - "t": "Zak hoogte", - "d": "Bepaalt de hoogte van de zak" - }, - "hoodHeight": { - "t": "Capuchon hoogte", - "d": "Bepaalt de hoogte van de capuchon" - }, - "hoodCutback": { - "t": "Capuchon inkorting", - "d": "Bepaalt hoever de capuchon opening is ingekort" - }, - "hoodClosure": { - "t": "Capuchon sluiting", - "d": "Bepaalt hoeveel van de capuchon deel uitmaakt van de sluiting vooraan" - }, - "hoodDepth": { - "t": "Capuchon diepte", - "d": "Bepaalt de diepte van de capuchon" - }, - "hoodAngle": { - "t": "Capuchon hoek", - "d": "Bepaalt de hoek waaronder de capuchon is geplaatst" - } - } -} diff --git a/designs/huey/i18n/uk.json b/designs/huey/i18n/uk.json deleted file mode 100644 index 41df6bc18e1..00000000000 --- a/designs/huey/i18n/uk.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "t": "Huey hoodie", - "d": "Huey is a zip-up hoodie with optional front pockets.", - "p": { - "back": "Back", - "cuff": "Cuff", - "front": "Front", - "hood": "Hood", - "pocket": "Pocket", - "sleeve": "Sleeve", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "pocket": { - "t": "Pocket", - "d": "Whether to include a front pocket or not" - }, - "pocketHeight": { - "t": "Pocket height", - "d": "Controls the height of the pocket" - }, - "hoodHeight": { - "t": "Hood height", - "d": "Controls the height of the hood" - }, - "hoodCutback": { - "t": "Hood cutback", - "d": "Controls how far the hood opening is cut back" - }, - "hoodClosure": { - "t": "Hood closure", - "d": "Controls how much of the hood is part of the front closure" - }, - "hoodDepth": { - "t": "Hood depth", - "d": "Controls the depth of the hood" - }, - "hoodAngle": { - "t": "Hood angle", - "d": "Controls the angle at which the hood is attached" - }, - "ribbing": { - "t": "Ribbing", - "d": "Whether or not to include ribbing on the pattern." - }, - "ribbingHeight": { - "t": "Ribbing height", - "d": "Controls the height of the ribbing" - }, - "ribbingStretch": { - "t": "Ribbing stretch", - "d": "Use this to adapt the pattern to how stretchy the ribbing that you are using is." - }, - "hipsEase": { - "t": "Hops ease", - "d": "Controls the amount of ease at the hips" - }, - "pocketWidth": { - "t": "Pocket width", - "d": "Controls the width of the pocket" - } - } -} diff --git a/designs/huey/package.json b/designs/huey/package.json index c8206a7d112..66d174870e5 100644 --- a/designs/huey/package.json +++ b/designs/huey/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/huey", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a zip-up hoodie", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,50 +25,41 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/brian": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/brian": "4.0.0", + "@freesewing/plugin-bust": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/huey/src/back.mjs b/designs/huey/src/back.mjs index 999ce0287e7..eba87d5bd6c 100644 --- a/designs/huey/src/back.mjs +++ b/designs/huey/src/back.mjs @@ -1,5 +1,6 @@ import { back as brianBack } from '@freesewing/brian' import { sharedDimensions } from './shared.mjs' +import { pctBasedOn } from '@freesewing/core' function draftHueyBack({ store, @@ -100,7 +101,7 @@ export const back = { options: { ribbing: { bool: true, menu: 'style' }, ribbingHeight: { pct: 10, min: 5, max: 15, menu: 'style' }, - hipsEase: { pct: 8, min: 4, max: 12, menu: 'fit' }, + hipsEase: { pct: 8, min: 4, max: 12, ...pctBasedOn('hips'), menu: 'fit' }, // Override Brian's lengthbonus. See #6596 lengthBonus: { pct: 15, min: -4, max: 60, menu: 'style' }, }, diff --git a/designs/huey/src/index.mjs b/designs/huey/src/index.mjs index b46df362446..c036e556bb1 100644 --- a/designs/huey/src/index.mjs +++ b/designs/huey/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as hueyI18n } from '../i18n/index.mjs' // Parts @@ -13,7 +13,7 @@ import { cuff } from './cuff.mjs' // Create design const Huey = new Design({ - data, + data: about, parts: [back, front, sleeve, pocket, hood, waistband, cuff], }) @@ -21,4 +21,4 @@ const Huey = new Design({ const i18n = mergeI18n([brianI18n, hueyI18n]) // Named exports -export { back, front, sleeve, pocket, hood, waistband, cuff, Huey, i18n } +export { back, front, sleeve, pocket, hood, waistband, cuff, Huey, i18n, about } diff --git a/designs/huey/tests/shared.test.mjs b/designs/huey/tests/shared.test.mjs index 7704b53efbe..a59cbc8577e 100644 --- a/designs/huey/tests/shared.test.mjs +++ b/designs/huey/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Huey, i18n } from '../src/index.mjs' +import { Huey, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Huey) +testPatternConfig(Huey, about) // Test translation testPatternI18n(Huey, i18n) diff --git a/designs/hugo/CHANGELOG.md b/designs/hugo/CHANGELOG.md index 2317f6e69ae..a7434e36df0 100644 --- a/designs/hugo/CHANGELOG.md +++ b/designs/hugo/CHANGELOG.md @@ -1,6 +1,12 @@ # Change log for: @freesewing/hugo +## 4.0.0 (2024-04-01) + +### Fixed + + - Add missing dimension id attributes + ## 3.2.0 (2024-02-11) ### Fixed diff --git a/designs/hugo/README.md b/designs/hugo/README.md index 5ab5f9daba6..379c13df175 100644 --- a/designs/hugo/README.md +++ b/designs/hugo/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:hugo - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/hugo @@ -59,7 +44,7 @@ A FreeSewing pattern for a hooded jumper with raglan sleeves > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/hugo/data.mjs b/designs/hugo/data.mjs deleted file mode 100644 index 43eb6ee70bb..00000000000 --- a/designs/hugo/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/hugo' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/hugo/i18n/de.json b/designs/hugo/i18n/de.json deleted file mode 100644 index 86eb728aebb..00000000000 --- a/designs/hugo/i18n/de.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "t": "Hugo, der Hoodie", - "d": "Hugo ist ein Kapuzensweatshirt mit Raglanärmeln.", - "p": { - "back": "Back", - "cuff": "Cuff", - "front": "Front", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "pocket": "Pocket", - "pocketFacing": "Pocket facing", - "sleeve": "Sleeve", - "waistband": "Waistband" - }, - "s": { - "cuff": "Manschette", - "hoodCenter": "Mitte der Kapuze", - "hoodSide": "Kapuzenseite", - "pocketFacing": "Taschenbesatz", - "pocket": "Tasche", - "waistband": "Bund" - }, - "o": { - "hipsEase": { - "t": "Zugabe Hüfte", - "d": "Die Menge an Bequemlichkeitszugabe an deinen Hüften." - } - } -} diff --git a/designs/hugo/i18n/es.json b/designs/hugo/i18n/es.json deleted file mode 100644 index 552822547c8..00000000000 --- a/designs/hugo/i18n/es.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "t": "Hugo, sudadera con capucha", - "d": "Hugo es una sudadera con capucha y manga raglán.", - "p": { - "back": "Back", - "cuff": "Cuff", - "front": "Front", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "pocket": "Pocket", - "pocketFacing": "Pocket facing", - "sleeve": "Sleeve", - "waistband": "Waistband" - }, - "s": { - "cuff": "Puño", - "hoodCenter": "Centro de la capucha", - "hoodSide": "Lado de la capucha", - "pocketFacing": "Mirando hacia el bolsillo", - "pocket": "Bolsillo", - "waistband": "Pretina" - }, - "o": { - "hipsEase": { - "t": "Holgura de cadera", - "d": "La cantidad de holgura en la cadera." - } - } -} diff --git a/designs/hugo/i18n/fr.json b/designs/hugo/i18n/fr.json deleted file mode 100644 index ac193fab74d..00000000000 --- a/designs/hugo/i18n/fr.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "t": "Sweat à capuche Hugo", - "d": "Hugo est un sweat à capuche avec des manches raglan.", - "p": { - "back": "Back", - "cuff": "Cuff", - "front": "Front", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "pocket": "Pocket", - "pocketFacing": "Pocket facing", - "sleeve": "Sleeve", - "waistband": "Waistband" - }, - "s": { - "cuff": "Poignet", - "hoodCenter": "Milieu de capuche", - "hoodSide": "Côté de capuche", - "pocketFacing": "Doublure de poche", - "pocket": "Poche", - "waistband": "Ceinture" - }, - "o": { - "hipsEase": { - "t": "Aisance des hanches", - "d": "La marge d'aisance aux hanches." - } - } -} diff --git a/designs/hugo/i18n/index.mjs b/designs/hugo/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/hugo/i18n/index.mjs +++ b/designs/hugo/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/hugo/i18n/nl.json b/designs/hugo/i18n/nl.json deleted file mode 100644 index a55f79d5ce2..00000000000 --- a/designs/hugo/i18n/nl.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "t": "Hugo hoodie", - "d": "Hugo is een trui met kap en een raglanmouw.", - "p": { - "back": "Back", - "cuff": "Cuff", - "front": "Front", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "pocket": "Pocket", - "pocketFacing": "Pocket facing", - "sleeve": "Sleeve", - "waistband": "Waistband" - }, - "s": { - "cuff": "Manchette", - "hoodCenter": "Capuchon midden", - "hoodSide": "Capuchon zijkant", - "pocketFacing": "Zak doublure", - "pocket": "Zak", - "waistband": "Tailleband" - }, - "o": { - "hipsEase": { - "t": "Overwijdte heup", - "d": "De hoeveelheid overwijdte aan je heupen." - } - } -} diff --git a/designs/hugo/i18n/uk.json b/designs/hugo/i18n/uk.json deleted file mode 100644 index c923c2bdd80..00000000000 --- a/designs/hugo/i18n/uk.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "t": "Hugo hoodie", - "d": "Hugo is a hooded jumper with raglan sleeves.", - "p": { - "back": "Back", - "cuff": "Cuff", - "front": "Front", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "pocket": "Pocket", - "pocketFacing": "Pocket facing", - "sleeve": "Sleeve", - "waistband": "Waistband" - }, - "s": { - "cuff": "Cuff", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "pocketFacing": "Pocket facing", - "pocket": "Pocket", - "waistband": "Waistband" - }, - "o": { - "ribbingHeight": { - "t": "Ribbing height", - "d": "Controls the height of the ribbing" - }, - "ribbingStretch": { - "t": "Ribbing stretch", - "d": "Use this to adapt the pattern to how stretchy the ribbing that you are using is." - }, - "hipsEase": { - "t": "Hips ease", - "d": "The amount of ease at your hips." - } - } -} diff --git a/designs/hugo/package.json b/designs/hugo/package.json index bcdae445f52..4030861417f 100644 --- a/designs/hugo/package.json +++ b/designs/hugo/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/hugo", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a hooded jumper with raglan sleeves", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,50 +25,41 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/brian": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/brian": "4.0.0", + "@freesewing/plugin-bust": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/hugo/src/index.mjs b/designs/hugo/src/index.mjs index 4aa759a0776..d1801570add 100644 --- a/designs/hugo/src/index.mjs +++ b/designs/hugo/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as hugoI18n } from '../i18n/index.mjs' import { back } from './back.mjs' @@ -15,7 +15,7 @@ import { neckBinding } from './neckbinding.mjs' // Setup our new design const Hugo = new Design({ - data, + data: about, parts: [ back, front, @@ -47,4 +47,5 @@ export { neckBinding, Hugo, i18n, + about, } diff --git a/designs/hugo/tests/shared.test.mjs b/designs/hugo/tests/shared.test.mjs index 82efb50a139..7a042e41455 100644 --- a/designs/hugo/tests/shared.test.mjs +++ b/designs/hugo/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Hugo, i18n } from '../src/index.mjs' +import { Hugo, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Hugo) +testPatternConfig(Hugo, about) // Test translation testPatternI18n(Hugo, i18n) diff --git a/designs/jaeger/README.md b/designs/jaeger/README.md index 8bc4b736d25..382be65a199 100644 --- a/designs/jaeger/README.md +++ b/designs/jaeger/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:jaeger - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/jaeger @@ -59,7 +44,7 @@ A FreeSewing pattern for a sport coat style jacket > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/jaeger/data.mjs b/designs/jaeger/data.mjs deleted file mode 100644 index 3e9ce905b30..00000000000 --- a/designs/jaeger/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/jaeger' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/jaeger/i18n/de.json b/designs/jaeger/i18n/de.json deleted file mode 100644 index a67ec2af3c2..00000000000 --- a/designs/jaeger/i18n/de.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "t": "Jaeger, das Sakko", - "d": "Jaeger ist ein sportliches Sakko mit zwei Knöpfen und aufgesetzten Taschen.", - "p": { - "backBase": "Back base", - "chestPocketBag": "Chest pocket bag", - "chestPocketWelt": "Chest pocket welt", - "collar": "Collar", - "collarStand": "Collar stand", - "frontBase": "Front base", - "innerPocketBag": "Inner pocket bag", - "innerPocketWelt": "Inner pocket welt", - "pocket": "Pocket", - "pocketLining": "Pocket lining", - "side": "Side", - "topSleeve": "Top sleeve", - "underCollar": "Under collar", - "underSleeve": "Under sleeve" - }, - "s": {}, - "o": { - "centerBackDart": { - "t": "Abnäher in der hinteren Mitte", - "d": "Abnäher in der hinteren Mitte, um einen abgerundeten Rücken unterzubringen" - }, - "sleeveVentLength": { - "t": "Ärmellüftungslänge", - "d": "Länge der Ärmelöffnung" - }, - "sleeveVentWidth": { - "t": "Ärmelschlitzbreite", - "d": "Breite der Ärmelöffnung" - }, - "chestShaping": { - "t": "Brustformung", - "d": "Anzahl der Formatierung für die Brustkurve" - }, - "frontDartPlacement": { - "t": "Platzierung des vorderen Abnähers", - "d": "Position der vorderen Abnäher" - }, - "frontOverlap": { - "t": "Übertritt vorne", - "d": "Wie weit der Stoff über die Schließknöpfe hinausragt" - }, - "sideFrontPlacement": { - "t": "Seitliche / vordere Platzierung", - "d": "Die Position der Seiten- / Frontgrenze" - }, - "chestPocketDepth": { - "t": "Brusttasche Tiefe", - "d": "Die Tiefe der Brusttasche" - }, - "chestPocketWidth": { - "t": "Brusttaschenbreite", - "d": "Die Breite der Brusttasche" - }, - "chestPocketPlacement": { - "t": "Platzierung der Brusttasche", - "d": "Die Position der Brusttasche" - }, - "chestPocketAngle": { - "t": "Brusttaschenwinkel", - "d": "Der Winkel, unter dem die Brusttasche platziert wird" - }, - "chestPocketWeltSize": { - "t": "Brusttasche Rahmengröße", - "d": "Die Größe der Brusttasche" - }, - "frontPocketPlacement": { - "t": "Fronttaschenplatzierung", - "d": "Position der Fronttasche" - }, - "frontPocketWidth": { - "t": "Breite der Fronttasche", - "d": "Die Breite der Fronttasche" - }, - "frontPocketDepth": { - "t": "Tiefe der Vordertasche", - "d": "Die Tiefe der Fronttasche" - }, - "frontPocketRadius": { - "t": "Radius der Vordertasche", - "d": "Der Radius, um den die Fronttasche gerundet ist" - }, - "innerPocketPlacement": { - "t": "Innentaschenplatzierung", - "d": "Die Position der Innentasche" - }, - "innerPocketWidth": { - "t": "Innentaschenbreite", - "d": "Die Breite der Innentasche" - }, - "innerPocketDepth": { - "t": "Innentaschentiefe", - "d": "Die Tiefe der Innentasche" - }, - "innerPocketWeltHeight": { - "t": "Innentasche Rahmenhöhe", - "d": "Die Höhe der Innentasche" - }, - "pocketFoldover": { - "t": "Taschenfalte", - "d": "Der Betrag, um den sich der Hauptstoff in der Tasche befindet" - }, - "centerFrontHemDrop": { - "t": "Saumabfall in der Mitte", - "d": "Der Betrag, um den der Saum zur vorderen Mitte hin abgesenkt wird" - }, - "backVent": { - "t": "Hinterer Gehschlitz", - "d": "Die Anzahl der hinteren Öffnungen" - }, - "backVentLength": { - "t": "Hinterer Gehschlitz Länge", - "d": "Die Länge der Hinterlüftung(en)" - }, - "buttonLength": { - "t": "Knopflänge", - "d": "Die Strecke, über die Knöpfe verteilt werden" - }, - "frontCutawayAngle": { - "t": "Frontschnittwinkel", - "d": "Der Winkel, unter dem die Vorderseite zum Saum hin abgeschnitten wird" - }, - "frontCutawayStart": { - "t": "Stern vorne", - "d": "Die Stelle, an der sich die Vorderseite zum Saum hin öffnet" - }, - "frontCutawayEnd": { - "t": "Vorderes Cutaway-Ende", - "d": "Wenn Sie diesen Wert erhöhen, bleibt der vordere Schnitt näher an der vorderen Mitte" - }, - "collarSpread": { - "t": "Kragen ausgebreitet", - "d": "Der Kragenausschnitt steuert, wie der Kragen über die Schultern drapiert" - }, - "lapelStart": { - "t": "Revers Beginn", - "d": "Position, wo die Mittelfront in das Revers geht" - }, - "lapelReduction": { - "t": "Reversverkleinerung", - "d": "Wie weit ist die Spitze der Revers nach innen gedreht?" - }, - "collarHeight": { - "t": "Kragenhöhe", - "d": "Höhe des Kragens" - }, - "collarNotchDepth": { - "t": "Kragentiefe", - "d": "Tiefe der Kragenkerbe" - }, - "collarNotchAngle": { - "t": "Kragenwinkel", - "d": "Winkel der Kragenkerbe" - }, - "collarNotchReturn": { - "t": "Kragenrückkehr", - "d": "Wie viel Kragen kommt von der Kerbe im Vergleich zum Revers zurück?" - }, - "rollLineCollarHeight": { - "t": "Rollkragenhöhe", - "d": "Wie sehr die Rollschnur den Hals umarmt" - }, - "hemRadius": { - "t": "Saumradius", - "d": "Der Betrag, um den der Saum gerundet ist" - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at your hips" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at your waist" - }, - "buttons": { - "t": "Number of buttons", - "d": "Controls the amount of buttons" - }, - "collarRoll": { - "t": "Collar roll", - "d": "Controls the amount of roll in the collar; how much the topcollar is higher than the undercollar." - } - } -} diff --git a/designs/jaeger/i18n/es.json b/designs/jaeger/i18n/es.json deleted file mode 100644 index 153eb2ef71c..00000000000 --- a/designs/jaeger/i18n/es.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "t": "Jaeger, chaqueta", - "d": "Jaeger es una chaqueta de estilo deportivo con dos botones y bolsillos de parche.", - "p": { - "backBase": "Back base", - "chestPocketBag": "Chest pocket bag", - "chestPocketWelt": "Chest pocket welt", - "collar": "Collar", - "collarStand": "Collar stand", - "frontBase": "Front base", - "innerPocketBag": "Inner pocket bag", - "innerPocketWelt": "Inner pocket welt", - "pocket": "Pocket", - "pocketLining": "Pocket lining", - "side": "Side", - "topSleeve": "Top sleeve", - "underCollar": "Under collar", - "underSleeve": "Under sleeve" - }, - "s": {}, - "o": { - "centerBackDart": { - "t": "Pinza en el centro de la espalda", - "d": "Dardos en el centro de la parte trasera del cuello para acomodar una espalda redondeada" - }, - "sleeveVentLength": { - "t": "Longitud de la vista de la manga", - "d": "Longitud de la vista de la manga" - }, - "sleeveVentWidth": { - "t": "Ancho de la vista de la manga", - "d": "Ancho de la vista de la manga" - }, - "chestShaping": { - "t": "Forma del pecho", - "d": "Cantidad de configuración a tener en cuenta para la curva del cofre" - }, - "frontDartPlacement": { - "t": "Colocación de la pinza delantera", - "d": "Ubicación de las pinzas delanteras" - }, - "frontOverlap": { - "t": "Superposición frontal", - "d": "Cuánto se extiende la tela más allá de los botones de cierre" - }, - "sideFrontPlacement": { - "t": "Colocación lateral / frontal", - "d": "La ubicación del borde lateral / frontal" - }, - "chestPocketDepth": { - "t": "Profundidad del bolsillo del pecho", - "d": "La profundidad del bolsillo del pecho" - }, - "chestPocketWidth": { - "t": "Ancho bolsillo del pecho", - "d": "El ancho del bolsillo del pecho" - }, - "chestPocketPlacement": { - "t": "Colocación de bolsillo en el pecho", - "d": "La ubicación del bolsillo del pecho" - }, - "chestPocketAngle": { - "t": "Ángulo de bolsillo del pecho", - "d": "El ángulo bajo el cual se coloca el bolsillo del pecho" - }, - "chestPocketWeltSize": { - "t": "Talla de bolsillo de bolsillo", - "d": "El tamaño de la bolsa de pecho" - }, - "frontPocketPlacement": { - "t": "Colocación frontal del bolsillo", - "d": "Colocación frontal del bolsillo" - }, - "frontPocketWidth": { - "t": "Ancho bolsillo frontal", - "d": "El ancho del bolsillo delantero" - }, - "frontPocketDepth": { - "t": "Profundidad de bolsillo frontal", - "d": "La profundidad del bolsillo frontal" - }, - "frontPocketRadius": { - "t": "Radio de bolsillo delantero", - "d": "El radio por el cual se redondea el bolsillo delantero" - }, - "innerPocketPlacement": { - "t": "Colocación del bolsillo interior", - "d": "La ubicación del bolsillo interior" - }, - "innerPocketWidth": { - "t": "Ancho bolsillo interior", - "d": "El ancho del bolsillo interior" - }, - "innerPocketDepth": { - "t": "Profundidad del bolsillo interior", - "d": "La profundidad del bolsillo interior" - }, - "innerPocketWeltHeight": { - "t": "Altura interior de los bolsillos", - "d": "La altura de la bolsa interior" - }, - "pocketFoldover": { - "t": "Bolsillo plegable", - "d": "La cantidad por la cual el tejido principal es la carpeta sobre el bolsillo" - }, - "centerFrontHemDrop": { - "t": "Dobladillo delantero central", - "d": "La cantidad por la que se baja el dobladillo hacia el centro delantero" - }, - "backVent": { - "t": "Abertura trasera", - "d": "La cantidad de respiraderos traseros" - }, - "backVentLength": { - "t": "Longitud de la abertura trasera", - "d": "La longitud de la (s) ventilación (es) posterior (es)" - }, - "buttonLength": { - "t": "Longitud del botón", - "d": "La distancia sobre la cual los botones se extienden" - }, - "frontCutawayAngle": { - "t": "Ángulo de corte frontal", - "d": "El ángulo bajo el cual se corta el frente hacia el dobladillo" - }, - "frontCutawayStart": { - "t": "Estrella de corte frontal", - "d": "La ubicación en la que el frente comienza a abrirse hacia el dobladillo." - }, - "frontCutawayEnd": { - "t": "Extremo frontal cortado", - "d": "Aumentar esto hará que el corte frontal permanezca más cerca del centro delantero" - }, - "collarSpread": { - "t": "Cuello extendido", - "d": "La extensión del collar controla cómo el collar cubre los hombros" - }, - "lapelStart": { - "t": "Inicio de la solapa", - "d": "Lugar donde el frente central pasa por las solapas" - }, - "lapelReduction": { - "t": "Reducción de la solapa", - "d": "Cuánto gira hacia adentro la punta de las solapas" - }, - "collarHeight": { - "t": "Altura del collar", - "d": "Altura del cuello" - }, - "collarNotchDepth": { - "t": "Profundidad de la muesca del cuello", - "d": "Profundidad de la muesca del cuello" - }, - "collarNotchAngle": { - "t": "Ángulo de la muesca del cuello", - "d": "Ángulo de la muesca del cuello" - }, - "collarNotchReturn": { - "t": "Cuello muesca retorno", - "d": "Cuánto retorna el cuello de la muesca, en comparación con la solapa" - }, - "rollLineCollarHeight": { - "t": "Altura de cuello de línea de rodadura", - "d": "¿Qué tanto la línea de balanceo abraza el cuello?" - }, - "hemRadius": { - "t": "Radio del dobladillo", - "d": "La cantidad por la cual se redondea el dobladillo" - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at your hips" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at your waist" - }, - "buttons": { - "t": "Number of buttons", - "d": "Controls the amount of buttons" - }, - "collarRoll": { - "t": "Collar roll", - "d": "Controls the amount of roll in the collar; how much the topcollar is higher than the undercollar." - } - } -} diff --git a/designs/jaeger/i18n/fr.json b/designs/jaeger/i18n/fr.json deleted file mode 100644 index cb7f8920546..00000000000 --- a/designs/jaeger/i18n/fr.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "t": "Veste Jaeger", - "d": "Jaeger est une veste de sport de style manteau avec deux boutons et des poches plaquées.", - "p": { - "backBase": "Back base", - "chestPocketBag": "Chest pocket bag", - "chestPocketWelt": "Chest pocket welt", - "collar": "Collar", - "collarStand": "Collar stand", - "frontBase": "Front base", - "innerPocketBag": "Inner pocket bag", - "innerPocketWelt": "Inner pocket welt", - "pocket": "Pocket", - "pocketLining": "Pocket lining", - "side": "Side", - "topSleeve": "Top sleeve", - "underCollar": "Under collar", - "underSleeve": "Under sleeve" - }, - "s": {}, - "o": { - "centerBackDart": { - "t": "Pinces milieu dos", - "d": "Fléchette au centre du cou pour accommoder un dos arrondi" - }, - "sleeveVentLength": { - "t": "Longueur de la fente des manches", - "d": "Longueur de la fente des manches" - }, - "sleeveVentWidth": { - "t": "Largeur de la fente des manches", - "d": "Largeur de la fente des manches" - }, - "chestShaping": { - "t": "Courbe du col poitrine", - "d": "Quantité de mise en forme pour la courbe de la poitrine" - }, - "frontDartPlacement": { - "t": "Emplacement des pinces devant", - "d": "Emplacement des pinces devant" - }, - "frontOverlap": { - "t": "Chevauchement avant", - "d": "Taux de chevauchement du pan des boutonnières vers le pan des boutons (largeur de la croisure)" - }, - "sideFrontPlacement": { - "t": "Placement latéral/avant", - "d": "L'emplacement de la séparation côté / devant" - }, - "chestPocketDepth": { - "t": "Profondeur de la poche de poitrine", - "d": "La profondeur de la poche de poitrine" - }, - "chestPocketWidth": { - "t": "Largeur de la poche poitrine", - "d": "Largeur de la poche poitrine" - }, - "chestPocketPlacement": { - "t": "Emplacement poche de poitrine", - "d": "L'emplacement de la poche de poitrine" - }, - "chestPocketAngle": { - "t": "Angle de poche de poitrine", - "d": "Angle d'inclinaison de la poche de poitrine" - }, - "chestPocketWeltSize": { - "t": "Taille du revers de la poche poitrine", - "d": "La taille du revers de la poche de poitrine" - }, - "frontPocketPlacement": { - "t": "Emplacement des poches avant", - "d": "Positionnement des poches avant" - }, - "frontPocketWidth": { - "t": "Largeur des poches avant", - "d": "La largeur des poches avant" - }, - "frontPocketDepth": { - "t": "Profondeur des poches avant", - "d": "La profondeur des poches avant" - }, - "frontPocketRadius": { - "t": "Arrondi des poches avant", - "d": "Le rayon par lequel la poche avant est arrondie" - }, - "innerPocketPlacement": { - "t": "Placement de la poche intérieure", - "d": "L'emplacement de la poche intérieure" - }, - "innerPocketWidth": { - "t": "Largeur de la poche intérieure", - "d": "La largeur de la poche intérieure" - }, - "innerPocketDepth": { - "t": "Profondeur de la poche intérieure", - "d": "La profondeur de la poche intérieure" - }, - "innerPocketWeltHeight": { - "t": "Hauteur du revers de la poche intérieure", - "d": "La hauteur du revers de la poche intérieure" - }, - "pocketFoldover": { - "t": "Recouvrement de la poche", - "d": "Montant de recouvrement du tissu principal sur la poche" - }, - "centerFrontHemDrop": { - "t": "Décalage de la longueur à l'avant", - "d": "La valeur par laquelle la longueur de l'avant est abaissée" - }, - "backVent": { - "t": "Fente dos", - "d": "Nombre de fentes à l'arrière" - }, - "backVentLength": { - "t": "Longueur de la fente arrière", - "d": "La longueur du ou des fente(s) arrière(s)" - }, - "buttonLength": { - "t": "Longueur de boutonnage", - "d": "La distance sur laquelle les boutons sont répartis" - }, - "frontCutawayAngle": { - "t": "Angle de coupe avant", - "d": "L'angle de découpe du pan avant" - }, - "frontCutawayStart": { - "t": "Départ de l'arrondi de coupe avant", - "d": "L'endroit où le pan de la veste commence à s'ouvrir vers l'ourlet du bas" - }, - "frontCutawayEnd": { - "t": "Fin de l'arrondi de coupe avant", - "d": "En augmentant cette valeur, l'arrondi du pan se terminera plus proche du milieu devant" - }, - "collarSpread": { - "t": "Écartement du col", - "d": "L'écartement du col contrôle la position des pointes du col - plus c'est grand, plus elles seront vers les épaules" - }, - "lapelStart": { - "t": "Début des revers", - "d": "Emplacement où les revers démarrent sur le milieu devant" - }, - "lapelReduction": { - "t": "Réduction de revers", - "d": "Combien la pointe des revers se réduit vers l'intérieur" - }, - "collarHeight": { - "t": "Hauteur du col", - "d": "Hauteur du col" - }, - "collarNotchDepth": { - "t": "Profondeur du col cranté", - "d": "Profondeur du col cranté" - }, - "collarNotchAngle": { - "t": "Angle du col cranté", - "d": "Angle du col cranté" - }, - "collarNotchReturn": { - "t": "Revers du col cranté", - "d": "Combien le col dépasse du cran, par rapport au revers du bas" - }, - "rollLineCollarHeight": { - "t": "Hauteur de la ligne de cassure du col", - "d": "Combien la ligne de cassure épouse le cou" - }, - "hemRadius": { - "t": "Rayon d'ourlet", - "d": "Le montant par lequel l'ourlet est arrondi" - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at your hips" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at your waist" - }, - "buttons": { - "t": "Number of buttons", - "d": "Controls the amount of buttons" - }, - "collarRoll": { - "t": "Collar roll", - "d": "Controls the amount of roll in the collar; how much the topcollar is higher than the undercollar." - } - } -} diff --git a/designs/jaeger/i18n/index.mjs b/designs/jaeger/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/jaeger/i18n/index.mjs +++ b/designs/jaeger/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/jaeger/i18n/nl.json b/designs/jaeger/i18n/nl.json deleted file mode 100644 index 7991c43f8f2..00000000000 --- a/designs/jaeger/i18n/nl.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "t": "Jaeger jasje", - "d": "Jaeger is a sport coat style jacket with two buttons and patch pockets.", - "p": { - "backBase": "Back base", - "chestPocketBag": "Chest pocket bag", - "chestPocketWelt": "Chest pocket welt", - "collar": "Collar", - "collarStand": "Collar stand", - "frontBase": "Front base", - "innerPocketBag": "Inner pocket bag", - "innerPocketWelt": "Inner pocket welt", - "pocket": "Pocket", - "pocketLining": "Pocket lining", - "side": "Side", - "topSleeve": "Top sleeve", - "underCollar": "Under collar", - "underSleeve": "Under sleeve" - }, - "s": {}, - "o": { - "centerBackDart": { - "t": "Middenrug neep", - "d": "Neep midden in het midden van je nek om een afgeronde rug op te vangen" - }, - "sleeveVentLength": { - "t": "Lengte mouwvent", - "d": "De lengte van de mouwvent" - }, - "sleeveVentWidth": { - "t": "Breedte mouwvent", - "d": "De breedte van de mouwvent" - }, - "chestShaping": { - "t": "Borstvorming", - "d": "Hoeveelheid vormgeving voor de borstcurve" - }, - "frontDartPlacement": { - "t": "Plaatsing neep vooraan", - "d": "Locatie van de nepen vooraan" - }, - "frontOverlap": { - "t": "Overlap voorzijde", - "d": "De mate waaarin de stof verder reikt dat de sluitingsknopen" - }, - "sideFrontPlacement": { - "t": "Voor/Zijkant plaatsing", - "d": "De grens tussen het voor en zij paneel" - }, - "chestPocketDepth": { - "t": "Borstzakdiepte", - "d": "De diepte van de borstzak" - }, - "chestPocketWidth": { - "t": "Borstzakbreedte", - "d": "De breedte van de borstzak" - }, - "chestPocketPlacement": { - "t": "Plaatsting borstzak", - "d": "De locatie van de borszak" - }, - "chestPocketAngle": { - "t": "Hoek borstzak", - "d": "De hoek van de borstzak" - }, - "chestPocketWeltSize": { - "t": "Afmeting paspel borstzak", - "d": "Grootte van de paspel van de borstzak" - }, - "frontPocketPlacement": { - "t": "Plaatsing voorzak", - "d": "Plaatsing van de zakken" - }, - "frontPocketWidth": { - "t": "Breedte voorzak", - "d": "Breedte van de zakken" - }, - "frontPocketDepth": { - "t": "Diepte zak", - "d": "Diepte van de zakken" - }, - "frontPocketRadius": { - "t": "Ronding zak", - "d": "De mate waarin de zakken zijn afgerond" - }, - "innerPocketPlacement": { - "t": "Plaatsing binnenzak", - "d": "De locatie van de binnenzakken" - }, - "innerPocketWidth": { - "t": "Breedte binnenzak", - "d": "De breedte van de binnenzakken" - }, - "innerPocketDepth": { - "t": "Diepte binnenzak", - "d": "De diepte van de binnenzakken" - }, - "innerPocketWeltHeight": { - "t": "Paspel binnenzak", - "d": "de maat van de paspel van de binnenzakken" - }, - "pocketFoldover": { - "t": "Zak overvouw", - "d": "De mate waarin de hoofstof doorloopt binnenin de zakken" - }, - "centerFrontHemDrop": { - "t": "Verlaging zoom vooraan", - "d": "De mate waarin de zoom vooraan verlaagd is" - }, - "backVent": { - "t": "Split achter", - "d": "Het aantal vents achteraan" - }, - "backVentLength": { - "t": "Lengte split achter", - "d": "De lengte van de vent(s) achteraan" - }, - "buttonLength": { - "t": "Lengte knopen", - "d": "De lengte waarover de knopen zijn gespreid" - }, - "frontCutawayAngle": { - "t": "Hoek uitsnijding vooraan", - "d": "De hoek waaronder de voorzijde wordt weggesneden naar de zoom toe" - }, - "frontCutawayStart": { - "t": "Start uitsnijding vooraan", - "d": "De plaats waar de voorzijde begint te verlopen naar de zoom toe" - }, - "frontCutawayEnd": { - "t": "Einde uitsnijding vooraan", - "d": "Door dit te verhogen blijft de verloping vooraan bij het midden" - }, - "collarSpread": { - "t": "Spreiding kraag", - "d": "De kraagspreiding bepaalt hoe de kraag over de schouders valt" - }, - "lapelStart": { - "t": "Start revers", - "d": "Start van de revers" - }, - "lapelReduction": { - "t": "Reductie revers", - "d": "Mate waarin het einde van de revers weer inwaards keren" - }, - "collarHeight": { - "t": "Hoogte kraag", - "d": "De hoogte van de kraag" - }, - "collarNotchDepth": { - "t": "Diepte inkeping kraag", - "d": "Diepte van de inkeping van de kraag" - }, - "collarNotchAngle": { - "t": "Hoek inkeping kraag", - "d": "Hoek van de inkeping van de kraag" - }, - "collarNotchReturn": { - "t": "Kraag inkeping terugloop", - "d": "De mate waarin de kraag terugkomt na de inkeping, in vergelijking met de revers" - }, - "rollLineCollarHeight": { - "t": "Rollijn kraaghoogte", - "d": "Hoeveel de kraag de nek omhelst" - }, - "hemRadius": { - "t": "Straal zoom", - "d": "De mate waarin de zoom is afgerond" - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at your hips" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at your waist" - }, - "buttons": { - "t": "Number of buttons", - "d": "Controls the amount of buttons" - }, - "collarRoll": { - "t": "Collar roll", - "d": "Controls the amount of roll in the collar; how much the topcollar is higher than the undercollar." - } - } -} diff --git a/designs/jaeger/i18n/uk.json b/designs/jaeger/i18n/uk.json deleted file mode 100644 index c5aa613d6d5..00000000000 --- a/designs/jaeger/i18n/uk.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "t": "Jaeger jacket", - "d": "Jaeger is a sport coat style jacket with two buttons and patch pockets.", - "p": { - "backBase": "Back base", - "chestPocketBag": "Chest pocket bag", - "chestPocketWelt": "Chest pocket welt", - "collar": "Collar", - "collarStand": "Collar stand", - "frontBase": "Front base", - "innerPocketBag": "Inner pocket bag", - "innerPocketWelt": "Inner pocket welt", - "pocket": "Pocket", - "pocketLining": "Pocket lining", - "side": "Side", - "topSleeve": "Top sleeve", - "underCollar": "Under collar", - "underSleeve": "Under sleeve" - }, - "s": {}, - "o": { - "centerBackDart": { - "t": "Center back dart", - "d": "Dart at the center back of your neck to accommodate a rounded back" - }, - "sleeveVentLength": { - "t": "Sleeve vent length", - "d": "Length of the sleeve vent" - }, - "sleeveVentWidth": { - "t": "Sleeve vent width", - "d": "Width of the sleeve vent" - }, - "chestShaping": { - "t": "Chest shaping", - "d": "Amount of shaping to accommodate for the chest curve" - }, - "frontDartPlacement": { - "t": "Front dart placement", - "d": "Location of the front darts" - }, - "frontOverlap": { - "t": "Front overlap", - "d": "How far the fabric extends beyond the closing buttons" - }, - "sideFrontPlacement": { - "t": "Side/Front placement", - "d": "The location of the side/front boundary" - }, - "chestPocketDepth": { - "t": "Chest pocket depth", - "d": "The depth of the chest pocket" - }, - "chestPocketWidth": { - "t": "Chest pocket width", - "d": "The width of the chest pocket" - }, - "chestPocketPlacement": { - "t": "Chest pocket placement", - "d": "The location of the chest pocket" - }, - "chestPocketAngle": { - "t": "Chest pocket angle", - "d": "The angle under which the chest pocket is placed" - }, - "chestPocketWeltSize": { - "t": "Chest pocket welt size", - "d": "The size of the chest pocket welt" - }, - "frontPocketPlacement": { - "t": "Front pocket placement", - "d": "Location of the front pocket" - }, - "frontPocketWidth": { - "t": "Front pocket width", - "d": "The width of the front pocket" - }, - "frontPocketDepth": { - "t": "Front pocket depth", - "d": "The depth of the front pocket" - }, - "frontPocketRadius": { - "t": "Front pocket radius", - "d": "The radius by which the front pocket is rounded" - }, - "innerPocketPlacement": { - "t": "Inner pocket placement", - "d": "The location of the inner pocket" - }, - "innerPocketWidth": { - "t": "Inner pocket width", - "d": "The width of the inner pocket" - }, - "innerPocketDepth": { - "t": "Inner pocket depth", - "d": "The depth of the inner pocket" - }, - "innerPocketWeltHeight": { - "t": "Inner pocket welt height", - "d": "The height of the inner pocket welt" - }, - "pocketFoldover": { - "t": "Pocket fold-over", - "d": "The amount by which the main fabric is folder over into the pocket" - }, - "centerFrontHemDrop": { - "t": "Center front hem drop", - "d": "The amount by which the hem is lowered towards the center front" - }, - "backVent": { - "t": "Back vent", - "d": "The amount of back vents" - }, - "backVentLength": { - "t": "Back vent length", - "d": "The length of the back vent(s)" - }, - "buttonLength": { - "t": "Button length", - "d": "The distance over which buttons are spread" - }, - "frontCutawayAngle": { - "t": "Front cutaway angle", - "d": "The angle under which the front is cut away towards the hem" - }, - "frontCutawayStart": { - "t": "Front cutaway start", - "d": "The location at which the front starts opening up towards the hem" - }, - "frontCutawayEnd": { - "t": "Front cutaway end", - "d": "Increasing this will make the front cutaway stay closer to the center front" - }, - "collarSpread": { - "t": "Collar spread", - "d": "The collar spread controls how the collar drapes over the shoulders" - }, - "lapelStart": { - "t": "Lapel start", - "d": "Location where the center front goes over into the lapels" - }, - "lapelReduction": { - "t": "Lapel reduction", - "d": "How much the tip of the lapels turns inwards" - }, - "collarHeight": { - "t": "Collar height", - "d": "Height of the collar" - }, - "collarNotchDepth": { - "t": "Collar notch depth", - "d": "Depth of the collar notch" - }, - "collarNotchAngle": { - "t": "Collar notch angle", - "d": "Angle of the collar notch" - }, - "collarNotchReturn": { - "t": "Collar notch return", - "d": "How much the collar returns from the notch, in comparison to the lapel" - }, - "rollLineCollarHeight": { - "t": "Roll-line collar height", - "d": "How much the roll-line hugs the neck" - }, - "hemRadius": { - "t": "Hem radius", - "d": "The amount by which the hem is rounded" - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at your hips" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at your waist" - }, - "buttons": { - "t": "Number of buttons", - "d": "Controls the amount of buttons" - }, - "collarRoll": { - "t": "Collar roll", - "d": "Controls the amount of roll in the collar; how much the topcollar is higher than the undercollar." - } - } -} diff --git a/designs/jaeger/package.json b/designs/jaeger/package.json index 44caaab57dc..613c0d46ee2 100644 --- a/designs/jaeger/package.json +++ b/designs/jaeger/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/jaeger", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a sport coat style jacket", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,51 +25,42 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/brian": "3.3.0-rc.1", - "@freesewing/bent": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/brian": "4.0.0", + "@freesewing/bent": "4.0.0", + "@freesewing/plugin-bust": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/jaeger/src/index.mjs b/designs/jaeger/src/index.mjs index bff991865a4..3f2c88bc501 100644 --- a/designs/jaeger/src/index.mjs +++ b/designs/jaeger/src/index.mjs @@ -1,7 +1,7 @@ import { Design, mergeI18n } from '@freesewing/core' import { i18n as bentI18n } from '@freesewing/bent' import { i18n as jaegerI18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { backBase } from './backbase.mjs' import { frontBase } from './frontbase.mjs' import { side } from './side.mjs' @@ -22,7 +22,7 @@ import { frontLining } from './front-lining.mjs' // Setup our new design const Jaeger = new Design({ - data, + data: about, parts: [ backBase, frontBase, @@ -68,4 +68,5 @@ export { innerPocketWelt, Jaeger, i18n, + about, } diff --git a/designs/jaeger/tests/shared.test.mjs b/designs/jaeger/tests/shared.test.mjs index b9b99fc527b..42ba86afab0 100644 --- a/designs/jaeger/tests/shared.test.mjs +++ b/designs/jaeger/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Jaeger, i18n } from '../src/index.mjs' +import { Jaeger, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Jaeger) +testPatternConfig(Jaeger, about) // Test translation testPatternI18n(Jaeger, i18n) diff --git a/designs/jane/README.md b/designs/jane/README.md index 1965c97ac07..59487753a8c 100644 --- a/designs/jane/README.md +++ b/designs/jane/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:jane - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/jane @@ -59,7 +44,7 @@ A FreeSewing pattern for a 1790s shift > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/jane/data.mjs b/designs/jane/data.mjs deleted file mode 100644 index 075ca5f203a..00000000000 --- a/designs/jane/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/jane' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/jane/i18n/de.json b/designs/jane/i18n/de.json deleted file mode 100644 index 3cf0748914a..00000000000 --- a/designs/jane/i18n/de.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Jane", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/jane/i18n/es.json b/designs/jane/i18n/es.json deleted file mode 100644 index 3cf0748914a..00000000000 --- a/designs/jane/i18n/es.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Jane", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/jane/i18n/fr.json b/designs/jane/i18n/fr.json deleted file mode 100644 index 3cf0748914a..00000000000 --- a/designs/jane/i18n/fr.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Jane", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/jane/i18n/index.mjs b/designs/jane/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/jane/i18n/index.mjs +++ b/designs/jane/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/jane/i18n/nl.json b/designs/jane/i18n/nl.json deleted file mode 100644 index 3cf0748914a..00000000000 --- a/designs/jane/i18n/nl.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Jane", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/jane/i18n/uk.json b/designs/jane/i18n/uk.json deleted file mode 100644 index 3cf0748914a..00000000000 --- a/designs/jane/i18n/uk.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Jane", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/jane/package.json b/designs/jane/package.json index 00104f0fb00..277099c46ec 100644 --- a/designs/jane/package.json +++ b/designs/jane/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/jane", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a 1790s shift", "author": "SeaZeeZee (https://github.com/SeaZeeZee)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/jane/src/index.mjs b/designs/jane/src/index.mjs index 1e9cb535531..208ce102acf 100644 --- a/designs/jane/src/index.mjs +++ b/designs/jane/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { body } from './body.mjs' import { sleeve } from './sleeve.mjs' import { gusset } from './gusset.mjs' @@ -7,8 +7,8 @@ import { i18n } from '../i18n/index.mjs' // Create new design const Jane = new Design({ - data, + data: about, parts: [body, sleeve, gusset], }) -export { body, sleeve, gusset, i18n, Jane } +export { body, sleeve, gusset, Jane, i18n, about } diff --git a/designs/jane/src/sleeve.mjs b/designs/jane/src/sleeve.mjs index a226f963262..d95e18e48fb 100644 --- a/designs/jane/src/sleeve.mjs +++ b/designs/jane/src/sleeve.mjs @@ -1,8 +1,10 @@ +import { pctBasedOn } from '@freesewing/core' + export const sleeve = { name: 'jane.sleeve', measurements: ['biceps', 'shoulderToElbow'], options: { - bicepsEase: { pct: 18, min: 18, max: 51, menu: 'fit' }, + bicepsEase: { pct: 18, min: 18, max: 51, ...pctBasedOn('biceps'), menu: 'fit' }, sleeveLength: { pct: 80, min: 60, max: 100, menu: 'style' }, }, diff --git a/designs/jane/tests/shared.test.mjs b/designs/jane/tests/shared.test.mjs index 02068edb011..6a5b897115f 100644 --- a/designs/jane/tests/shared.test.mjs +++ b/designs/jane/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Jane, i18n } from '../src/index.mjs' +import { Jane, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Jane) +testPatternConfig(Jane, about) // Test translation testPatternI18n(Jane, i18n) diff --git a/designs/legend/README.md b/designs/legend/README.md index ae13ce79014..2d07c515808 100644 --- a/designs/legend/README.md +++ b/designs/legend/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:legend - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/legend @@ -59,7 +44,7 @@ A FreeSewing pattern to document pattern notation > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/legend/data.mjs b/designs/legend/data.mjs deleted file mode 100644 index c2811a3d137..00000000000 --- a/designs/legend/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/legend' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/legend/i18n/de.json b/designs/legend/i18n/de.json deleted file mode 100644 index d9ff1b4cb2d..00000000000 --- a/designs/legend/i18n/de.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Legend", - "d": "A FreeSewing pattern used in our documentation to illustrate pattern notations", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/legend/i18n/es.json b/designs/legend/i18n/es.json deleted file mode 100644 index d9ff1b4cb2d..00000000000 --- a/designs/legend/i18n/es.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Legend", - "d": "A FreeSewing pattern used in our documentation to illustrate pattern notations", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/legend/i18n/fr.json b/designs/legend/i18n/fr.json deleted file mode 100644 index d9ff1b4cb2d..00000000000 --- a/designs/legend/i18n/fr.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Legend", - "d": "A FreeSewing pattern used in our documentation to illustrate pattern notations", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/legend/i18n/index.mjs b/designs/legend/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/legend/i18n/index.mjs +++ b/designs/legend/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/legend/i18n/nl.json b/designs/legend/i18n/nl.json deleted file mode 100644 index d9ff1b4cb2d..00000000000 --- a/designs/legend/i18n/nl.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Legend", - "d": "A FreeSewing pattern used in our documentation to illustrate pattern notations", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/legend/i18n/uk.json b/designs/legend/i18n/uk.json deleted file mode 100644 index d9ff1b4cb2d..00000000000 --- a/designs/legend/i18n/uk.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Legend", - "d": "A FreeSewing pattern used in our documentation to illustrate pattern notations", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/legend/package.json b/designs/legend/package.json index ab235513886..25a589f1a29 100644 --- a/designs/legend/package.json +++ b/designs/legend/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/legend", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern to document pattern notation", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/legend/src/index.mjs b/designs/legend/src/index.mjs index f0afbbc669e..e52b7223d2f 100644 --- a/designs/legend/src/index.mjs +++ b/designs/legend/src/index.mjs @@ -1,5 +1,4 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' import { i18n } from '../i18n/index.mjs' import { fabricLines, saLines, otherLines, lineWidths, lineStrokes } from './lines.mjs' import { notches } from './notches.mjs' @@ -17,7 +16,6 @@ import { sa } from './sa.mjs' // Setup our new design const Legend = new Design({ - data, parts: [ fabricLines, saLines, diff --git a/designs/legend/tests/shared.test.mjs b/designs/legend/tests/shared.test.mjs index 722c092e1f3..eb64038ef36 100644 --- a/designs/legend/tests/shared.test.mjs +++ b/designs/legend/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Legend, i18n } from '../src/index.mjs' +import { Legend, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Legend) +testPatternConfig(Legend, about) // Test translation testPatternI18n(Legend, i18n) diff --git a/designs/lily/README.md b/designs/lily/README.md index 11c6ba23ee5..3dea2bcb11d 100644 --- a/designs/lily/README.md +++ b/designs/lily/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:lily - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/lily @@ -59,7 +44,7 @@ A FreeSewing pattern for basic leggings > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/lily/data.mjs b/designs/lily/data.mjs deleted file mode 100644 index 660ffa9242d..00000000000 --- a/designs/lily/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/lily' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/lily/i18n/de.json b/designs/lily/i18n/de.json deleted file mode 100644 index 185dfb452be..00000000000 --- a/designs/lily/i18n/de.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Lily", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/lily/i18n/es.json b/designs/lily/i18n/es.json deleted file mode 100644 index 185dfb452be..00000000000 --- a/designs/lily/i18n/es.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Lily", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/lily/i18n/fr.json b/designs/lily/i18n/fr.json deleted file mode 100644 index 185dfb452be..00000000000 --- a/designs/lily/i18n/fr.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Lily", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/lily/i18n/index.mjs b/designs/lily/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/lily/i18n/index.mjs +++ b/designs/lily/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/lily/i18n/nl.json b/designs/lily/i18n/nl.json deleted file mode 100644 index 185dfb452be..00000000000 --- a/designs/lily/i18n/nl.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Lily", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/lily/i18n/uk.json b/designs/lily/i18n/uk.json deleted file mode 100644 index 185dfb452be..00000000000 --- a/designs/lily/i18n/uk.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Lily", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/lily/package.json b/designs/lily/package.json index 9acb5f50312..14c619abf73 100644 --- a/designs/lily/package.json +++ b/designs/lily/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/lily", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for basic leggings", "author": "Anna Puk (https://github.com/anna-puk)", "homepage": "https://freesewing.org/", @@ -25,50 +25,41 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/titan": "3.3.0-rc.1", - "@freesewing/paco": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/titan": "4.0.0", + "@freesewing/paco": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/lily/src/back.mjs b/designs/lily/src/back.mjs index 7e356a2d51e..51bc58b42ec 100644 --- a/designs/lily/src/back.mjs +++ b/designs/lily/src/back.mjs @@ -1,4 +1,5 @@ import { back as titanBack } from '@freesewing/titan' +import { pctBasedOn } from '@freesewing/core' function draftLilyBack({ points, @@ -569,9 +570,9 @@ export const back = { crotchDrop: { pct: 0, min: 0, max: 15, menu: 'advanced' }, // 'downgrade' to advanced menu waistHeight: { ...titanBack.options.waistHeight, pct: 50 }, // halfway between waist and hips fabricStretch: { pct: 40, min: 0, max: 50, menu: 'fit' }, - waistEase: { pct: -4, min: -20, max: 0, menu: 'fit' }, // -fabricStretch/10, - seatEase: { pct: -4, min: -20, max: 0, menu: 'fit' }, // -fabricStretch/10, - kneeEase: { pct: -4, min: -20, max: 0, menu: 'fit' }, // -fabricStretch/10, + waistEase: { pct: -4, min: -20, max: 0, ...pctBasedOn('waist'), menu: 'fit' }, // -fabricStretch/10, + seatEase: { pct: -4, min: -20, max: 0, ...pctBasedOn('seat'), menu: 'fit' }, // -fabricStretch/10, + kneeEase: { pct: -4, min: -20, max: 0, ...pctBasedOn('knee'), menu: 'fit' }, // -fabricStretch/10, lengthBonus: 0, lengthReduction: { pct: 0, diff --git a/designs/lily/src/index.mjs b/designs/lily/src/index.mjs index 1a831522031..d0943c002bf 100644 --- a/designs/lily/src/index.mjs +++ b/designs/lily/src/index.mjs @@ -1,6 +1,6 @@ import { Design } from '@freesewing/core' import { i18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } // Parts import { front } from './front.mjs' import { back } from './back.mjs' @@ -8,9 +8,9 @@ import { waistband } from './waistband.mjs' // Create new design const Lily = new Design({ - data, + data: about, parts: [front, back, waistband], }) // Named exports -export { front, back, waistband, i18n, Lily } +export { front, back, waistband, Lily, i18n, about } diff --git a/designs/lily/tests/shared.test.mjs b/designs/lily/tests/shared.test.mjs index e587224479e..c1b276cd327 100644 --- a/designs/lily/tests/shared.test.mjs +++ b/designs/lily/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Lily, i18n } from '../src/index.mjs' +import { Lily, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Lily) +testPatternConfig(Lily, about) // Test translation testPatternI18n(Lily, i18n) diff --git a/designs/lucy/README.md b/designs/lucy/README.md index dcddf45fda8..aaf14378aed 100644 --- a/designs/lucy/README.md +++ b/designs/lucy/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:lucy - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/lucy @@ -59,7 +44,7 @@ A FreeSewing pattern for a historical tie-on pocket > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/lucy/data.mjs b/designs/lucy/data.mjs deleted file mode 100644 index d9d12a327a0..00000000000 --- a/designs/lucy/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/lucy' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/lucy/i18n/de.json b/designs/lucy/i18n/de.json deleted file mode 100644 index b805004dfa7..00000000000 --- a/designs/lucy/i18n/de.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "t": "Lucy, die Umbindetasche", - "d": "Lucy ist eine historische Tasche, die du um deine Taille binden kannst.", - "p": { - "pocket": "Tasche" - }, - "s": {}, - "o": { - "width": { - "t": "Breite", - "d": "Breite der Tasche" - }, - "length": { - "t": "Länge", - "d": "Länge (Tiefe) der Tasche" - }, - "edge": { - "t": "Abschrägung", - "d": "Steuert, wie sehr die Öffnung der Tasche nach innen abgeschrägt ist" - } - } -} diff --git a/designs/lucy/i18n/es.json b/designs/lucy/i18n/es.json deleted file mode 100644 index 5f769579e46..00000000000 --- a/designs/lucy/i18n/es.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "t": "Lucy tie-on pocket", - "d": "Lucy is a historical pocket that you can tie around your waist.", - "p": { - "pocket": "Bolsillo" - }, - "s": {}, - "o": { - "width": { - "t": "Anchura", - "d": "Width of the pocket" - }, - "length": { - "t": "Longitud", - "d": "Length (depth) of the pocket" - }, - "edge": { - "t": "Taper", - "d": "Controls how much the pocket opening tapers inwards" - } - } -} diff --git a/designs/lucy/i18n/fr.json b/designs/lucy/i18n/fr.json deleted file mode 100644 index 7a286ae77fc..00000000000 --- a/designs/lucy/i18n/fr.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "t": "Poche à nouer Lucy", - "d": "Lucy est une poche historique que vous pouvez nouer autour de votre taille.", - "p": { - "pocket": "Poche" - }, - "s": {}, - "o": { - "width": { - "t": "Largeur", - "d": "Largeur de la poche" - }, - "length": { - "t": "Longueur", - "d": "Longueur (profondeur) de la poche" - }, - "edge": { - "t": "Rétrécissement", - "d": "Contrôle comment l'ouverture de la poche rétrécie à l'intérieur" - } - } -} diff --git a/designs/lucy/i18n/index.mjs b/designs/lucy/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/lucy/i18n/index.mjs +++ b/designs/lucy/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/lucy/i18n/nl.json b/designs/lucy/i18n/nl.json deleted file mode 100644 index 4506c00190b..00000000000 --- a/designs/lucy/i18n/nl.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "t": "Lucy tie-on pocket", - "d": "Lucy is a historical pocket that you can tie around your waist.", - "p": { - "pocket": "Zak" - }, - "s": {}, - "o": { - "width": { - "t": "Breedte", - "d": "Width of the pocket" - }, - "length": { - "t": "Lengte", - "d": "Length (depth) of the pocket" - }, - "edge": { - "t": "Taper", - "d": "Controls how much the pocket opening tapers inwards" - } - } -} diff --git a/designs/lucy/i18n/uk.json b/designs/lucy/i18n/uk.json deleted file mode 100644 index 3036fd2a5cb..00000000000 --- a/designs/lucy/i18n/uk.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "t": "Lucy tie-on pocket", - "d": "Lucy is a historical pocket that you can tie around your waist.", - "p": { - "pocket": "Pocket" - }, - "s": {}, - "o": { - "width": { - "t": "Width", - "d": "Width of the pocket" - }, - "length": { - "t": "Length", - "d": "Length (depth) of the pocket" - }, - "edge": { - "t": "Taper", - "d": "Controls how much the pocket opening tapers inwards" - } - } -} diff --git a/designs/lucy/package.json b/designs/lucy/package.json index fc0b02cd5bc..c3dfdeec6e3 100644 --- a/designs/lucy/package.json +++ b/designs/lucy/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/lucy", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a historical tie-on pocket", "author": "SeaZeeZee (https://github.com/SeaZeeZee)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/lucy/src/index.mjs b/designs/lucy/src/index.mjs index a837aa5f514..6554ddd71b7 100644 --- a/designs/lucy/src/index.mjs +++ b/designs/lucy/src/index.mjs @@ -1,10 +1,13 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { pocket } from './pocket.mjs' // Setup our new design -const Lucy = new Design({ data, parts: [pocket] }) +const Lucy = new Design({ + data: about, + parts: [pocket], +}) // Named exports -export { pocket, Lucy, i18n } +export { pocket, Lucy, i18n, about } diff --git a/designs/lucy/tests/shared.test.mjs b/designs/lucy/tests/shared.test.mjs index c9c1ad22f24..ddef3acae05 100644 --- a/designs/lucy/tests/shared.test.mjs +++ b/designs/lucy/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Lucy, i18n } from '../src/index.mjs' +import { Lucy, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Lucy) +testPatternConfig(Lucy, about) // Test translation testPatternI18n(Lucy, i18n) diff --git a/designs/lumina/README.md b/designs/lumina/README.md index 2250fadc29f..3b44b474605 100644 --- a/designs/lumina/README.md +++ b/designs/lumina/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:lumina - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/lumina @@ -59,7 +44,7 @@ A FreeSewing pattern for leggings > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/lumina/data.mjs b/designs/lumina/data.mjs deleted file mode 100644 index ab5827cc8b3..00000000000 --- a/designs/lumina/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/lumina' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/lumina/i18n/de.json b/designs/lumina/i18n/de.json deleted file mode 100644 index 8cf0182cebd..00000000000 --- a/designs/lumina/i18n/de.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Lumina", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/lumina/i18n/es.json b/designs/lumina/i18n/es.json deleted file mode 100644 index 8cf0182cebd..00000000000 --- a/designs/lumina/i18n/es.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Lumina", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/lumina/i18n/fr.json b/designs/lumina/i18n/fr.json deleted file mode 100644 index 8cf0182cebd..00000000000 --- a/designs/lumina/i18n/fr.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Lumina", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/lumina/i18n/index.mjs b/designs/lumina/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/lumina/i18n/index.mjs +++ b/designs/lumina/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/lumina/i18n/nl.json b/designs/lumina/i18n/nl.json deleted file mode 100644 index 8cf0182cebd..00000000000 --- a/designs/lumina/i18n/nl.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Lumina", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/lumina/i18n/uk.json b/designs/lumina/i18n/uk.json deleted file mode 100644 index 8cf0182cebd..00000000000 --- a/designs/lumina/i18n/uk.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Lumina", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/lumina/package.json b/designs/lumina/package.json index 9b4cb6bbb8d..351eca3bf58 100644 --- a/designs/lumina/package.json +++ b/designs/lumina/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/lumina", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for leggings", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/lumina/src/index.mjs b/designs/lumina/src/index.mjs index 85f68e79c47..c3dc8dcd600 100644 --- a/designs/lumina/src/index.mjs +++ b/designs/lumina/src/index.mjs @@ -1,8 +1,6 @@ -// - import { Design } from '@freesewing/core' import { i18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } // Parts import { shape } from './shape.mjs' import { panel } from './panel.mjs' @@ -12,9 +10,9 @@ import { waistband } from './waistband.mjs' // Create new design const Lumina = new Design({ - data, + data: about, parts: [shape, panel, leg, waistband, pocket], }) // Named exports -export { i18n, Lumina, shape, panel, leg, waistband, pocket } +export { shape, panel, leg, waistband, pocket, Lumina, i18n, about } diff --git a/designs/lumina/tests/shared.test.mjs b/designs/lumina/tests/shared.test.mjs index 36dafb5c605..f9241bc30fa 100644 --- a/designs/lumina/tests/shared.test.mjs +++ b/designs/lumina/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Lumina, i18n } from '../src/index.mjs' +import { Lumina, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Lumina) +testPatternConfig(Lumina, about) // Test translation testPatternI18n(Lumina, i18n) diff --git a/designs/lumira/README.md b/designs/lumira/README.md index 6dd25d9ec4a..c2f7a1a7f28 100644 --- a/designs/lumira/README.md +++ b/designs/lumira/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:lumira - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/lumira @@ -59,7 +44,7 @@ A FreeSewing pattern for leggings > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/lumira/data.mjs b/designs/lumira/data.mjs deleted file mode 100644 index 078f82a6dcc..00000000000 --- a/designs/lumira/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/lumira' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/lumira/i18n/de.json b/designs/lumira/i18n/de.json deleted file mode 100644 index 77cc756d4dd..00000000000 --- a/designs/lumira/i18n/de.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Lumira", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/lumira/i18n/es.json b/designs/lumira/i18n/es.json deleted file mode 100644 index 77cc756d4dd..00000000000 --- a/designs/lumira/i18n/es.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Lumira", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/lumira/i18n/fr.json b/designs/lumira/i18n/fr.json deleted file mode 100644 index 77cc756d4dd..00000000000 --- a/designs/lumira/i18n/fr.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Lumira", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/lumira/i18n/index.mjs b/designs/lumira/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/lumira/i18n/index.mjs +++ b/designs/lumira/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/lumira/i18n/nl.json b/designs/lumira/i18n/nl.json deleted file mode 100644 index 77cc756d4dd..00000000000 --- a/designs/lumira/i18n/nl.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Lumira", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/lumira/i18n/uk.json b/designs/lumira/i18n/uk.json deleted file mode 100644 index 77cc756d4dd..00000000000 --- a/designs/lumira/i18n/uk.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Lumira", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/lumira/package.json b/designs/lumira/package.json index 5e7b56b697f..96445fc2b03 100644 --- a/designs/lumira/package.json +++ b/designs/lumira/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/lumira", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for leggings", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/lumira/src/index.mjs b/designs/lumira/src/index.mjs index 447fc8c31bd..02a9e094bf5 100644 --- a/designs/lumira/src/index.mjs +++ b/designs/lumira/src/index.mjs @@ -2,7 +2,7 @@ import { Design } from '@freesewing/core' import { i18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } // Parts import { extendPath, controlPoints, createControlPoints, shape } from './shape.mjs' import { leg } from './leg.mjs' @@ -11,14 +11,12 @@ import { waistband } from './waistband.mjs' // Create new design const Lumira = new Design({ - data, + data: about, parts: [shape, gusset, leg, waistband], }) // Named exports export { - i18n, - Lumira, shape, gusset, leg, @@ -26,4 +24,7 @@ export { extendPath, controlPoints, createControlPoints, + Lumira, + i18n, + about, } diff --git a/designs/lumira/tests/shared.test.mjs b/designs/lumira/tests/shared.test.mjs index 99fc7a84087..acb76fc5ad0 100644 --- a/designs/lumira/tests/shared.test.mjs +++ b/designs/lumira/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Lumira, i18n } from '../src/index.mjs' +import { Lumira, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Lumira) +testPatternConfig(Lumira, about) // Test translation testPatternI18n(Lumira, i18n) diff --git a/designs/lunetius/README.md b/designs/lunetius/README.md index 8fd59755b6d..f7e250fd716 100644 --- a/designs/lunetius/README.md +++ b/designs/lunetius/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:lunetius - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/lunetius @@ -59,7 +44,7 @@ A FreeSewing pattern for a lacerna, a historical Roman cloak > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/lunetius/data.mjs b/designs/lunetius/data.mjs deleted file mode 100644 index b4fb2215ad3..00000000000 --- a/designs/lunetius/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/lunetius' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/lunetius/i18n/de.json b/designs/lunetius/i18n/de.json deleted file mode 100644 index 6fac26caebb..00000000000 --- a/designs/lunetius/i18n/de.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "t": "Lunetius, die Lacerna", - "d": "Lunetius ist eine Lacerna, ein historischer römischer Mantel", - "p": { - "lacerna": "Lacerna" - }, - "s": {}, - "o": { - "lengthRatio": { - "t": "Längenverhältnis", - "d": "Steuert die Länge des Kleidungsstückes" - }, - "widthRatio": { - "t": "Breitenverhältnis", - "d": "Steuert die Breite des Kleidungsstückes" - }, - "length": { - "t": "Länge", - "d": "Wähle zwischen verschiedenen Längenarten" - } - } -} diff --git a/designs/lunetius/i18n/es.json b/designs/lunetius/i18n/es.json deleted file mode 100644 index c8f76db1064..00000000000 --- a/designs/lunetius/i18n/es.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "t": "Lunetius, lacerna", - "d": "Lunetius es una lacerna, una capa histórica romana", - "p": { - "lacerna": "Lacerna" - }, - "s": {}, - "o": { - "lengthRatio": { - "t": "Ratio de longitud", - "d": "Controls the length of the garment" - }, - "widthRatio": { - "t": "Width ratio", - "d": "Controls the width of the garment" - }, - "length": { - "t": "Longitud", - "d": "Choose from the different length styles" - } - } -} diff --git a/designs/lunetius/i18n/fr.json b/designs/lunetius/i18n/fr.json deleted file mode 100644 index 6177a68b8f4..00000000000 --- a/designs/lunetius/i18n/fr.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "t": "Lacerne Lunetius", - "d": "Lunetius est une lacerne, un manteau romain historique", - "p": { - "lacerna": "Lacerna" - }, - "s": {}, - "o": { - "lengthRatio": { - "t": "Ratio de longueur", - "d": "Contrôle la longueur du vêtement" - }, - "widthRatio": { - "t": "Ratio de largeur", - "d": "Contrôle la largeur du vêtement" - }, - "length": { - "t": "Longueur", - "d": "Choisit parmi les différents styles de longueur" - } - } -} diff --git a/designs/lunetius/i18n/index.mjs b/designs/lunetius/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/lunetius/i18n/index.mjs +++ b/designs/lunetius/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/lunetius/i18n/nl.json b/designs/lunetius/i18n/nl.json deleted file mode 100644 index c97a58cfaed..00000000000 --- a/designs/lunetius/i18n/nl.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "t": "Lunetius Lacerna", - "d": "Lunetius is a lacerna, a historical Roman cloak", - "p": { - "lacerna": "Lacerna" - }, - "s": {}, - "o": { - "lengthRatio": { - "t": "Lengteratio", - "d": "Controls the length of the garment" - }, - "widthRatio": { - "t": "Width ratio", - "d": "Controls the width of the garment" - }, - "length": { - "t": "Lengte", - "d": "Choose from the different length styles" - } - } -} diff --git a/designs/lunetius/i18n/uk.json b/designs/lunetius/i18n/uk.json deleted file mode 100644 index 80a2afefbbb..00000000000 --- a/designs/lunetius/i18n/uk.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "t": "Lunetius Lacerna", - "d": "Lunetius is a lacerna, a historical Roman cloak", - "p": { - "lacerna": "Lacerna" - }, - "s": {}, - "o": { - "lengthRatio": { - "t": "Length ratio", - "d": "Controls the length of the garment" - }, - "widthRatio": { - "t": "Width ratio", - "d": "Controls the width of the garment" - }, - "length": { - "t": "Length", - "d": "Choose from the different length styles" - } - } -} diff --git a/designs/lunetius/package.json b/designs/lunetius/package.json index 54a6053739a..7f319472cca 100644 --- a/designs/lunetius/package.json +++ b/designs/lunetius/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/lunetius", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a lacerna, a historical Roman cloak", "author": "Starfetch (https://github.com/starfetch)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/lunetius/src/index.mjs b/designs/lunetius/src/index.mjs index 0430964ee80..fdd11969d71 100644 --- a/designs/lunetius/src/index.mjs +++ b/designs/lunetius/src/index.mjs @@ -1,13 +1,13 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { lacerna } from './lacerna.mjs' // Setup our new design const Lunetius = new Design({ - data, + data: about, parts: [lacerna], }) // Named exports -export { lacerna, Lunetius, i18n } +export { lacerna, Lunetius, i18n, about } diff --git a/designs/lunetius/tests/shared.test.mjs b/designs/lunetius/tests/shared.test.mjs index 1a935ff18b3..9f0d4d1dbdd 100644 --- a/designs/lunetius/tests/shared.test.mjs +++ b/designs/lunetius/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Lunetius, i18n } from '../src/index.mjs' +import { Lunetius, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Lunetius) +testPatternConfig(Lunetius, about) // Test translation testPatternI18n(Lunetius, i18n) diff --git a/designs/magde/README.md b/designs/magde/README.md index da928012a1e..de152b163cd 100644 --- a/designs/magde/README.md +++ b/designs/magde/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:magde - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/magde @@ -59,7 +44,7 @@ A FreeSewing pattern for a bike messenger bag > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/magde/data.mjs b/designs/magde/data.mjs deleted file mode 100644 index 5edb9e6a4c0..00000000000 --- a/designs/magde/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/magde' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/magde/i18n/de.json b/designs/magde/i18n/de.json deleted file mode 100644 index f55c3fe5f31..00000000000 --- a/designs/magde/i18n/de.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "t": "Magde messenger bag", - "d": "Magde is a pattern for a (bike) messenger bag", - "p": { - "backPanel": "Back panel", - "bodyLiner": "Body liner", - "frontPanel": "Front panel", - "frontOrganiserBase": "Front organiser base", - "frontOrganiserFront": "Front organiser front", - "internalOrganiser": "Internal organiser", - "lidOnePiece": "Lid one piece", - "sidePanel": "Side panel", - "strapAttachments": "Strap attachments", - "twoPieceLidBottom": "Two-piece lid bottom", - "twoPieceLidTop": "Two-piece lid top" - }, - "s": {}, - "o": { - "size": { - "t": "Size", - "d": "FIXME: Provide description for this option" - }, - "taperRatio": { - "t": "Taper ratio", - "d": "FIXME: Provide description for this option" - }, - "flapHeightRatio": { - "t": "Flap height", - "d": "FIXME: Provide description for this option" - }, - "openingRatio": { - "t": "Opening ratio", - "d": "FIXME: Provide description for this option" - }, - "onePieceLid": { - "t": "One piece lid", - "d": "FIXME: Provide description for this option" - }, - "useCommonWebbingSizes": { - "t": "Use common webbing size", - "d": "FIXME: Provide description for this option" - } - } -} diff --git a/designs/magde/i18n/es.json b/designs/magde/i18n/es.json deleted file mode 100644 index f55c3fe5f31..00000000000 --- a/designs/magde/i18n/es.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "t": "Magde messenger bag", - "d": "Magde is a pattern for a (bike) messenger bag", - "p": { - "backPanel": "Back panel", - "bodyLiner": "Body liner", - "frontPanel": "Front panel", - "frontOrganiserBase": "Front organiser base", - "frontOrganiserFront": "Front organiser front", - "internalOrganiser": "Internal organiser", - "lidOnePiece": "Lid one piece", - "sidePanel": "Side panel", - "strapAttachments": "Strap attachments", - "twoPieceLidBottom": "Two-piece lid bottom", - "twoPieceLidTop": "Two-piece lid top" - }, - "s": {}, - "o": { - "size": { - "t": "Size", - "d": "FIXME: Provide description for this option" - }, - "taperRatio": { - "t": "Taper ratio", - "d": "FIXME: Provide description for this option" - }, - "flapHeightRatio": { - "t": "Flap height", - "d": "FIXME: Provide description for this option" - }, - "openingRatio": { - "t": "Opening ratio", - "d": "FIXME: Provide description for this option" - }, - "onePieceLid": { - "t": "One piece lid", - "d": "FIXME: Provide description for this option" - }, - "useCommonWebbingSizes": { - "t": "Use common webbing size", - "d": "FIXME: Provide description for this option" - } - } -} diff --git a/designs/magde/i18n/fr.json b/designs/magde/i18n/fr.json deleted file mode 100644 index f55c3fe5f31..00000000000 --- a/designs/magde/i18n/fr.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "t": "Magde messenger bag", - "d": "Magde is a pattern for a (bike) messenger bag", - "p": { - "backPanel": "Back panel", - "bodyLiner": "Body liner", - "frontPanel": "Front panel", - "frontOrganiserBase": "Front organiser base", - "frontOrganiserFront": "Front organiser front", - "internalOrganiser": "Internal organiser", - "lidOnePiece": "Lid one piece", - "sidePanel": "Side panel", - "strapAttachments": "Strap attachments", - "twoPieceLidBottom": "Two-piece lid bottom", - "twoPieceLidTop": "Two-piece lid top" - }, - "s": {}, - "o": { - "size": { - "t": "Size", - "d": "FIXME: Provide description for this option" - }, - "taperRatio": { - "t": "Taper ratio", - "d": "FIXME: Provide description for this option" - }, - "flapHeightRatio": { - "t": "Flap height", - "d": "FIXME: Provide description for this option" - }, - "openingRatio": { - "t": "Opening ratio", - "d": "FIXME: Provide description for this option" - }, - "onePieceLid": { - "t": "One piece lid", - "d": "FIXME: Provide description for this option" - }, - "useCommonWebbingSizes": { - "t": "Use common webbing size", - "d": "FIXME: Provide description for this option" - } - } -} diff --git a/designs/magde/i18n/index.mjs b/designs/magde/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/magde/i18n/index.mjs +++ b/designs/magde/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/magde/i18n/nl.json b/designs/magde/i18n/nl.json deleted file mode 100644 index f55c3fe5f31..00000000000 --- a/designs/magde/i18n/nl.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "t": "Magde messenger bag", - "d": "Magde is a pattern for a (bike) messenger bag", - "p": { - "backPanel": "Back panel", - "bodyLiner": "Body liner", - "frontPanel": "Front panel", - "frontOrganiserBase": "Front organiser base", - "frontOrganiserFront": "Front organiser front", - "internalOrganiser": "Internal organiser", - "lidOnePiece": "Lid one piece", - "sidePanel": "Side panel", - "strapAttachments": "Strap attachments", - "twoPieceLidBottom": "Two-piece lid bottom", - "twoPieceLidTop": "Two-piece lid top" - }, - "s": {}, - "o": { - "size": { - "t": "Size", - "d": "FIXME: Provide description for this option" - }, - "taperRatio": { - "t": "Taper ratio", - "d": "FIXME: Provide description for this option" - }, - "flapHeightRatio": { - "t": "Flap height", - "d": "FIXME: Provide description for this option" - }, - "openingRatio": { - "t": "Opening ratio", - "d": "FIXME: Provide description for this option" - }, - "onePieceLid": { - "t": "One piece lid", - "d": "FIXME: Provide description for this option" - }, - "useCommonWebbingSizes": { - "t": "Use common webbing size", - "d": "FIXME: Provide description for this option" - } - } -} diff --git a/designs/magde/i18n/uk.json b/designs/magde/i18n/uk.json deleted file mode 100644 index f55c3fe5f31..00000000000 --- a/designs/magde/i18n/uk.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "t": "Magde messenger bag", - "d": "Magde is a pattern for a (bike) messenger bag", - "p": { - "backPanel": "Back panel", - "bodyLiner": "Body liner", - "frontPanel": "Front panel", - "frontOrganiserBase": "Front organiser base", - "frontOrganiserFront": "Front organiser front", - "internalOrganiser": "Internal organiser", - "lidOnePiece": "Lid one piece", - "sidePanel": "Side panel", - "strapAttachments": "Strap attachments", - "twoPieceLidBottom": "Two-piece lid bottom", - "twoPieceLidTop": "Two-piece lid top" - }, - "s": {}, - "o": { - "size": { - "t": "Size", - "d": "FIXME: Provide description for this option" - }, - "taperRatio": { - "t": "Taper ratio", - "d": "FIXME: Provide description for this option" - }, - "flapHeightRatio": { - "t": "Flap height", - "d": "FIXME: Provide description for this option" - }, - "openingRatio": { - "t": "Opening ratio", - "d": "FIXME: Provide description for this option" - }, - "onePieceLid": { - "t": "One piece lid", - "d": "FIXME: Provide description for this option" - }, - "useCommonWebbingSizes": { - "t": "Use common webbing size", - "d": "FIXME: Provide description for this option" - } - } -} diff --git a/designs/magde/package.json b/designs/magde/package.json index 84b7becfd3b..527fe376007 100644 --- a/designs/magde/package.json +++ b/designs/magde/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/magde", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a bike messenger bag", "author": "clegganator259 (https://github.com/clegganator259)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/magde/src/index.mjs b/designs/magde/src/index.mjs index 28e8728cc04..3c767898de5 100644 --- a/designs/magde/src/index.mjs +++ b/designs/magde/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' // Parts import { bodyLiner } from './bodyLiner.mjs' @@ -16,7 +16,7 @@ import { strapAttachments } from './strapAttachments.mjs' // Create new design const Magde = new Design({ - data, + data: about, parts: [ backPanel, frontPanel, @@ -47,4 +47,5 @@ export { internalOrganiser, Magde, i18n, + about, } diff --git a/designs/magde/tests/shared.test.mjs b/designs/magde/tests/shared.test.mjs index e2040472aec..71c298fcd73 100644 --- a/designs/magde/tests/shared.test.mjs +++ b/designs/magde/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Magde, i18n } from '../src/index.mjs' +import { Magde, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Magde) +testPatternConfig(Magde, about) // Test translation testPatternI18n(Magde, i18n) diff --git a/designs/noble/CHANGELOG.md b/designs/noble/CHANGELOG.md index 7a141dd0717..9d3d3537428 100644 --- a/designs/noble/CHANGELOG.md +++ b/designs/noble/CHANGELOG.md @@ -1,6 +1,13 @@ # Change log for: @freesewing/noble +## 4.0.0 (2024-04-01) + +### Fixed + + - Fix 'cutonfold' text for Noble's back part. Fixes + - Improve dart shaping. Fixes + ## 3.0.0 (2023-09-30) ### Changed diff --git a/designs/noble/README.md b/designs/noble/README.md index 2fd76b6a1f3..304dcc9f444 100644 --- a/designs/noble/README.md +++ b/designs/noble/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:noble - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/noble @@ -59,7 +44,7 @@ A FreeSewing pattern for a princess seam bodice block > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/noble/data.mjs b/designs/noble/data.mjs deleted file mode 100644 index df2667612c6..00000000000 --- a/designs/noble/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/noble' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/noble/i18n/de.json b/designs/noble/i18n/de.json deleted file mode 100644 index cfbdd5ff192..00000000000 --- a/designs/noble/i18n/de.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "t": "Noble, ein Grundschnitt", - "d": "Noble ist ein Grundschnitt mit einer Englischen oder Wiener Naht", - "p": { - "backInside": "Back inside", - "backOutside": "Back outside", - "backPoints": "Back base", - "frontInside": "Front inside", - "frontOutside": "Front outside", - "frontPoints": "Front base" - }, - "s": {}, - "o": { - "dartPosition": { - "t": "Position Abnäher", - "d": "Steuert, ob an der Schulter oder am Armloch geteilt werden soll" - }, - "chestEase": { - "t": "Brustumfangszugabe", - "d": "Controls the amount of ease at the chest" - }, - "waistEase": { - "t": "Taillenzugabe", - "d": "Controls the amount of ease at the waist" - }, - "bustSpanEase": { - "t": "Zugabe im Abstand der Brustpunkte", - "d": "Controls the amount of ease along the bust span" - }, - "backDartHeight": { - "t": "Steuert die Höhe des Rückenabnähers", - "d": "Höhe Rückenabnäher" - }, - "waistDartLength": { - "t": "Länge des Taillenabnähers", - "d": "Steuert die Länge des Taillenabnähers" - }, - "shoulderDartCurvature": { - "t": "Shoulder dart curvature", - "d": "Controls the curvature of the upper part of the shoulder dart" - }, - "shoulderDartPosition": { - "t": "Position der Schulterabnäher", - "d": "Steuert die Position der Schulternaht" - }, - "upperDartLength": { - "t": "Upper dart length", - "d": "Controls the length of the upper dart" - }, - "armholeDartPosition": { - "t": "Armhole dart position", - "d": "Controls the position of the armhole dart" - }, - "armholeDepth": { - "t": "Armlochtiefe", - "d": "Steuert die Tiefe des Armloches" - }, - "backArmholeSlant": { - "t": "Hintere Armlochschiebung", - "d": "Controls the slant of the armhole at the back" - }, - "backArmholeCurvature": { - "t": "Hintere Armlochkrümmung", - "d": "Controls how deep the armhole is scooped out at the back" - }, - "frontArmholeCurvature": { - "t": "Vordere Armlochkrümmung", - "d": "Steuert wie tief das Armloch nach vorne unten ausgeschnitten ist" - }, - "frontArmholePitchDepth": { - "t": "Vordere Armlochtiefe", - "d": "Controls how deep the armhole cuts into the front" - }, - "backArmholePitchDepth": { - "t": "Rückenarmloch-Tiefe", - "d": "Controls how deep the armhole cuts into the back" - }, - "backNeckCutout": { - "t": "Ausschnitt im Nacken", - "d": "Controls how deep the neck is cutout in the back" - }, - "backHemSlope": { - "t": "Neigung des hinteren Saumes", - "d": "Constrols the slope of the back hem" - }, - "frontShoulderWidth": { - "t": "Vordere Schulterbreite", - "d": "Controls how much width is added to the shoulder in the front" - }, - "highBustWidth": { - "t": "Oberbrustweite", - "d": "Controls the width of the high bust" - }, - "shoulderToShoulderEase": { - "t": "Zugabe des Schulterabstandes", - "d": "Steuert die Menge an Zugabe entlang des Schulter-zu-Schulter Maßes" - } - } -} diff --git a/designs/noble/i18n/es.json b/designs/noble/i18n/es.json deleted file mode 100644 index 1a3fa571bda..00000000000 --- a/designs/noble/i18n/es.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "t": "Noble, patrón base de torso", - "d": "Noble es un patrón base de torso con corte de príncipe o princesa", - "p": { - "backInside": "Back inside", - "backOutside": "Back outside", - "backPoints": "Back base", - "frontInside": "Front inside", - "frontOutside": "Front outside", - "frontPoints": "Front base" - }, - "s": {}, - "o": { - "dartPosition": { - "t": "Posición de la pinza", - "d": "Controls whether to split at the shoulder or armhole" - }, - "chestEase": { - "t": "Holgura de pecho", - "d": "Controls the amount of ease at the chest" - }, - "waistEase": { - "t": "Holgura de cintura", - "d": "Controls the amount of ease at the waist" - }, - "bustSpanEase": { - "t": "Holgura alrededor del busto", - "d": "Controls the amount of ease along the bust span" - }, - "backDartHeight": { - "t": "Controla la altura del dart posterior", - "d": "Altura del dart trasero" - }, - "waistDartLength": { - "t": "Longitud del dart de Waist", - "d": "Controla la longitud del dardo de la cintura" - }, - "shoulderDartCurvature": { - "t": "Shoulder dart curvature", - "d": "Controls the curvature of the upper part of the shoulder dart" - }, - "shoulderDartPosition": { - "t": "Shoulder dart position", - "d": "Controls the position of the shoulder dart" - }, - "upperDartLength": { - "t": "Upper dart length", - "d": "Controls the length of the upper dart" - }, - "armholeDartPosition": { - "t": "Armhole dart position", - "d": "Controls the position of the armhole dart" - }, - "armholeDepth": { - "t": "Profundidad del orificio", - "d": "Controla la profundidad del orificio" - }, - "backArmholeSlant": { - "t": "Slant del orificio trasero", - "d": "Controls the slant of the armhole at the back" - }, - "backArmholeCurvature": { - "t": "Curvatura del orificio trasero", - "d": "Controls how deep the armhole is scooped out at the back" - }, - "frontArmholeCurvature": { - "t": "Front armhole curvature", - "d": "Controls how deep the armhole is scooped out at the front bottom" - }, - "frontArmholePitchDepth": { - "t": "Profundidad del tono del orificio delantero", - "d": "Controls how deep the armhole cuts into the front" - }, - "backArmholePitchDepth": { - "t": "Profundidad del tono del orificio trasero", - "d": "Controls how deep the armhole cuts into the back" - }, - "backNeckCutout": { - "t": "Corte trasero del cuello", - "d": "Controls how deep the neck is cutout in the back" - }, - "backHemSlope": { - "t": "Pendiente trasera", - "d": "Constrols the slope of the back hem" - }, - "frontShoulderWidth": { - "t": "Ancho del hombro frontal", - "d": "Controls how much width is added to the shoulder in the front" - }, - "highBustWidth": { - "t": "Ancho de bust alto", - "d": "Controls the width of the high bust" - }, - "shoulderToShoulderEase": { - "t": "Shoulder to shoulder ease", - "d": "Controls the amount of ease along the shoulder to shoulder measurement" - } - } -} diff --git a/designs/noble/i18n/fr.json b/designs/noble/i18n/fr.json deleted file mode 100644 index b8787ae4791..00000000000 --- a/designs/noble/i18n/fr.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "t": "Bloc de corps Noble", - "d": "Noble est un bloc de corps avec des coutures prince(sse)", - "p": { - "backInside": "Back inside", - "backOutside": "Back outside", - "backPoints": "Back base", - "frontInside": "Front inside", - "frontOutside": "Front outside", - "frontPoints": "Front base" - }, - "s": {}, - "o": { - "dartPosition": { - "t": "Position de la pince", - "d": "Contrôle s'il faut séparer à l'épaule ou à l'emmanchure" - }, - "chestEase": { - "t": "Aisance de poitrine", - "d": "Contrôle la quantité d'aisance de votre poitrine" - }, - "waistEase": { - "t": "Aisance à la taille", - "d": "Contrôle la quantité d'aisance au niveau de la taille" - }, - "bustSpanEase": { - "t": "Aisance de l'écart poitrine", - "d": "Contrôle l'ampleur de l'aisance le long du buste" - }, - "backDartHeight": { - "t": "Contrôle la hauteur de la pince de dos", - "d": "Hauteur de la pince de dos" - }, - "waistDartLength": { - "t": "Longueur de la pince de taille", - "d": "Contrôle la longueur de la pince de taille" - }, - "shoulderDartCurvature": { - "t": "Shoulder dart curvature", - "d": "Controls the curvature of the upper part of the shoulder dart" - }, - "shoulderDartPosition": { - "t": "Position de la pince d'épaule", - "d": "Contrôle la position de la pince d'épaule" - }, - "upperDartLength": { - "t": "Longueur de la pince supérieure", - "d": "Contrôle la longueur de la pince supérieure" - }, - "armholeDartPosition": { - "t": "Position de la pince d'emmanchure", - "d": "Contrôle la position de la pince d'emmanchure" - }, - "armholeDepth": { - "t": "Profondeur d'emmanchure", - "d": "Contrôle la profondeur de l'emmanchure" - }, - "backArmholeSlant": { - "t": "Inclinaison d'emmanchure dos", - "d": "Contrôle l'inclinaison de l'emmanchure dos" - }, - "backArmholeCurvature": { - "t": "Courbure de l'emmanchure arrière", - "d": "Contrôle la profondeur du bas de la courbure d'emmanchure dans le dos" - }, - "frontArmholeCurvature": { - "t": "Courbe de l'emmanchure avant", - "d": "Contrôle la profondeur du bas de la courbure d'emmanchure sur le devant" - }, - "frontArmholePitchDepth": { - "t": "Profondeur du point de pivot de l'emmanchure avant", - "d": "Contrôle la profondeur de l'emmanchure sur le devant" - }, - "backArmholePitchDepth": { - "t": "Profondeur du point de pivot de l'emmanchure dos", - "d": "Contrôle la profondeur de l'emmanchure dans le dos" - }, - "backNeckCutout": { - "t": "Arrondi de l'encolure dos", - "d": "Contrôle la profondeur de l'encolure dans le dos" - }, - "backHemSlope": { - "t": "Pente de l'ourlet arrière", - "d": "Contrôle la pente de l'ourlet arrière" - }, - "frontShoulderWidth": { - "t": "Largeur d'épaule devant", - "d": "Contrôle la largeur ajoutée devant les épaules" - }, - "highBustWidth": { - "t": "Largeur du haut de poitrine", - "d": "Contrôle la largeur du haut de poitrine" - }, - "shoulderToShoulderEase": { - "t": "Aisance d'épaule à épaule", - "d": "Contrôle l'aisance sur la mesure épaule à épaule" - } - } -} diff --git a/designs/noble/i18n/index.mjs b/designs/noble/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/noble/i18n/index.mjs +++ b/designs/noble/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/noble/i18n/nl.json b/designs/noble/i18n/nl.json deleted file mode 100644 index 6d79beaa917..00000000000 --- a/designs/noble/i18n/nl.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "t": "Noble body block", - "d": "Noble is a body block with prince(ess) seams", - "p": { - "backInside": "Back inside", - "backOutside": "Back outside", - "backPoints": "Back base", - "frontInside": "Front inside", - "frontOutside": "Front outside", - "frontPoints": "Front base" - }, - "s": {}, - "o": { - "dartPosition": { - "t": "Dart position", - "d": "Controls whether to split at the shoulder or armhole" - }, - "chestEase": { - "t": "Overwijdte borst", - "d": "Controls the amount of ease at the chest" - }, - "waistEase": { - "t": "Overwijdte taille", - "d": "Controls the amount of ease at the waist" - }, - "bustSpanEase": { - "t": "Overwijdte bustenwijdte", - "d": "Controls the amount of ease along the bust span" - }, - "backDartHeight": { - "t": "Bepaalt de hoogte van de achterste neep", - "d": "Hoogte neep rug" - }, - "waistDartLength": { - "t": "Lengte neep taille", - "d": "Bepaalt de lengte van de neep van de taille" - }, - "shoulderDartCurvature": { - "t": "Shoulder dart curvature", - "d": "Controls the curvature of the upper part of the shoulder dart" - }, - "shoulderDartPosition": { - "t": "Shoulder dart position", - "d": "Controls the position of the shoulder dart" - }, - "upperDartLength": { - "t": "Upper dart length", - "d": "Controls the length of the upper dart" - }, - "armholeDartPosition": { - "t": "Armhole dart position", - "d": "Controls the position of the armhole dart" - }, - "armholeDepth": { - "t": "Diepte armsgat", - "d": "Bepaalt de diepte van het armsgat" - }, - "backArmholeSlant": { - "t": "Schuin armsgat achter", - "d": "Controls the slant of the armhole at the back" - }, - "backArmholeCurvature": { - "t": "Kromming armsgat achter", - "d": "Controls how deep the armhole is scooped out at the back" - }, - "frontArmholeCurvature": { - "t": "Front armhole curvature", - "d": "Controls how deep the armhole is scooped out at the front bottom" - }, - "frontArmholePitchDepth": { - "t": "Diepte armsgat vooraan", - "d": "Controls how deep the armhole cuts into the front" - }, - "backArmholePitchDepth": { - "t": "Diepte armsgat achteraan", - "d": "Controls how deep the armhole cuts into the back" - }, - "backNeckCutout": { - "t": "Hals uitsnijding achteraan", - "d": "Controls how deep the neck is cutout in the back" - }, - "backHemSlope": { - "t": "Lope zoom achter", - "d": "Constrols the slope of the back hem" - }, - "frontShoulderWidth": { - "t": "Schouderbreedte vooraan", - "d": "Controls how much width is added to the shoulder in the front" - }, - "highBustWidth": { - "t": "Hoge buste-breedte", - "d": "Controls the width of the high bust" - }, - "shoulderToShoulderEase": { - "t": "Shoulder to shoulder ease", - "d": "Controls the amount of ease along the shoulder to shoulder measurement" - } - } -} diff --git a/designs/noble/i18n/uk.json b/designs/noble/i18n/uk.json deleted file mode 100644 index 0dbed3b6ab6..00000000000 --- a/designs/noble/i18n/uk.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "t": "Noble body block", - "d": "Noble is a body block with prince(ess) seams", - "p": { - "backInside": "Back inside", - "backOutside": "Back outside", - "backPoints": "Back base", - "frontInside": "Front inside", - "frontOutside": "Front outside", - "frontPoints": "Front base" - }, - "s": {}, - "o": { - "dartPosition": { - "t": "Dart position", - "d": "Controls whether to split at the shoulder or armhole" - }, - "chestEase": { - "t": "Chest ease", - "d": "Controls the amount of ease at the chest" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at the waist" - }, - "bustSpanEase": { - "t": "Bust span ease", - "d": "Controls the amount of ease along the bust span" - }, - "backDartHeight": { - "t": "Controls the height of the back dart", - "d": "Back dart height" - }, - "waistDartLength": { - "t": "Waist dart length", - "d": "Controls the length of the waist dart" - }, - "shoulderDartCurvature": { - "t": "Shoulder dart curvature", - "d": "Controls the curvature of the upper part of the shoulder dart" - }, - "shoulderDartPosition": { - "t": "Shoulder dart position", - "d": "Controls the position of the shoulder dart" - }, - "upperDartLength": { - "t": "Upper dart length", - "d": "Controls the length of the upper dart" - }, - "armholeDartPosition": { - "t": "Armhole dart position", - "d": "Controls the position of the armhole dart" - }, - "armholeDepth": { - "t": "Armhole depth", - "d": "Controls the depth of the armhole" - }, - "backArmholeSlant": { - "t": "Back armhole slant", - "d": "Controls the slant of the armhole at the back" - }, - "backArmholeCurvature": { - "t": "Back armhole curvature", - "d": "Controls how deep the armhole is scooped out at the back" - }, - "frontArmholeCurvature": { - "t": "Front armhole curvature", - "d": "Controls how deep the armhole is scooped out at the front bottom" - }, - "frontArmholePitchDepth": { - "t": "Front armhole pitch depth", - "d": "Controls how deep the armhole cuts into the front" - }, - "backArmholePitchDepth": { - "t": "Back armhole pitch depth", - "d": "Controls how deep the armhole cuts into the back" - }, - "backNeckCutout": { - "t": "Back neck cutout", - "d": "Controls how deep the neck is cutout in the back" - }, - "backHemSlope": { - "t": "Back hem slope", - "d": "Constrols the slope of the back hem" - }, - "frontShoulderWidth": { - "t": "Front shoulder width", - "d": "Controls how much width is added to the shoulder in the front" - }, - "highBustWidth": { - "t": "High bust width", - "d": "Controls the width of the high bust" - }, - "shoulderToShoulderEase": { - "t": "Shoulder to shoulder ease", - "d": "Controls the amount of ease along the shoulder to shoulder measurement" - }, - "fullChestEaseReduction": { - "t": "Full chest ease reduction", - "d": "FIXME: Document this option" - } - } -} diff --git a/designs/noble/package.json b/designs/noble/package.json index 2953e126149..49fc70166cb 100644 --- a/designs/noble/package.json +++ b/designs/noble/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/noble", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a princess seam bodice block", "author": "woutervdub (https://github.com/woutervdub)", "homepage": "https://freesewing.org/", @@ -25,49 +25,40 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/bella": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/bella": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/noble/src/index.mjs b/designs/noble/src/index.mjs index 0e3f95d863c..feedfc75e04 100644 --- a/designs/noble/src/index.mjs +++ b/designs/noble/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { backPoints } from './backpoints.mjs' import { backInside } from './backinside.mjs' @@ -10,9 +10,19 @@ import { frontOutside } from './frontoutside.mjs' // Setup our new design const Noble = new Design({ - data, + data: about, parts: [backPoints, backInside, backOutside, frontPoints, frontInside, frontOutside], }) // Named exports -export { backPoints, backInside, backOutside, frontPoints, frontInside, frontOutside, Noble, i18n } +export { + backPoints, + backInside, + backOutside, + frontPoints, + frontInside, + frontOutside, + Noble, + i18n, + about, +} diff --git a/designs/noble/tests/shared.test.mjs b/designs/noble/tests/shared.test.mjs index 06bea70b951..228ae48a9ad 100644 --- a/designs/noble/tests/shared.test.mjs +++ b/designs/noble/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Noble, i18n } from '../src/index.mjs' +import { Noble, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Noble) +testPatternConfig(Noble, about) // Test translation testPatternI18n(Noble, i18n) diff --git a/designs/octoplushy/README.md b/designs/octoplushy/README.md index 3fe9a6f0ad4..b061c4494c6 100644 --- a/designs/octoplushy/README.md +++ b/designs/octoplushy/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:octoplushy - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/octoplushy @@ -59,7 +44,7 @@ A FreeSewing pattern for an octopus plushy toy > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/octoplushy/data.mjs b/designs/octoplushy/data.mjs deleted file mode 100644 index b72c1f291f2..00000000000 --- a/designs/octoplushy/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/octoplushy' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/octoplushy/i18n/de.json b/designs/octoplushy/i18n/de.json deleted file mode 100644 index c4229f0dd7d..00000000000 --- a/designs/octoplushy/i18n/de.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "t": "Octoplushy, der Oktopus", - "d": "Ein mehrarmiger Begleiter für Umarmungen der nächsten Kategorie", - "p": { - "armSection1": "Arm section 1", - "armSection2": "Arm section 2", - "eye1": "Eye 1", - "eye2": "Eye 2", - "eye3": "Eye 3", - "headSection1": "Head section 1", - "headSection2": "Head section 2" - }, - "s": {}, - "o": { - "size": { - "t": "Größe", - "d": "Steuert die Gesamtgröße" - }, - "type": { - "t": "Art", - "d": "Erlaubt es dir, zwischen den Varianten dieses Designs zu wählen" - }, - "armWidth": { - "t": "Armbreite", - "d": "Steuert die Breite der Arme" - }, - "armLength": { - "t": "Armlänge", - "d": "Steuert die Länge der Arme" - }, - "neckWidth": { - "t": "Halsbreite", - "d": "Bestimmt die Breite am Hals" - }, - "armTaper": { - "t": "Armabschrägung", - "d": "Steuert, wie stark die Arme abgeschrägt sind" - }, - "bottomTopArmRatio": { - "t": "Verhältnis Arme Unten/Oben", - "d": "FIXME: Keine Ahnung, was dies macht" - }, - "bottomArmReduction": { - "t": "Reduktion des unteren Arms", - "d": "FIXME: Keine Ahnung, was dies macht" - }, - "bottomArmReductionPlushy": { - "t": "Reduktion des unteren Arms (plüschig)", - "d": "FIXME: Keine Ahnung, was dies macht" - } - } -} diff --git a/designs/octoplushy/i18n/es.json b/designs/octoplushy/i18n/es.json deleted file mode 100644 index dd7943d40d1..00000000000 --- a/designs/octoplushy/i18n/es.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "t": "Octoplushy the octopus", - "d": "A multi-armed companion for next-level hugs", - "p": { - "armSection1": "Arm section 1", - "armSection2": "Arm section 2", - "eye1": "Eye 1", - "eye2": "Eye 2", - "eye3": "Eye 3", - "headSection1": "Head section 1", - "headSection2": "Head section 2" - }, - "s": {}, - "o": { - "size": { - "t": "Tamaño", - "d": "Controls the overall size" - }, - "type": { - "t": "Tipo", - "d": "Allows you to choose one of the variants of this design" - }, - "armWidth": { - "t": "Arm width", - "d": "Controls the width of the arms" - }, - "armLength": { - "t": "Arm length", - "d": "Controls the length of the arms" - }, - "neckWidth": { - "t": "Neck width", - "d": "Determines the width at the neck" - }, - "armTaper": { - "t": "Arm tapering", - "d": "Controls the amount by which the arms taper" - }, - "bottomTopArmRatio": { - "t": "Bottom/Top arm ratio", - "d": "FIXME: No idea what this does" - }, - "bottomArmReduction": { - "t": "Bottom arm reduction", - "d": "FIXME: No idea what this does" - }, - "bottomArmReductionPlushy": { - "t": "Bottom arm reduction (plushy)", - "d": "FIXME: No idea what this does" - } - } -} diff --git a/designs/octoplushy/i18n/fr.json b/designs/octoplushy/i18n/fr.json deleted file mode 100644 index 402b26db962..00000000000 --- a/designs/octoplushy/i18n/fr.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "t": "Octoplushy la pieuvre", - "d": "Un compagnon à plusieurs bras pour des câlins de haut niveau", - "p": { - "armSection1": "Arm section 1", - "armSection2": "Arm section 2", - "eye1": "Eye 1", - "eye2": "Eye 2", - "eye3": "Eye 3", - "headSection1": "Head section 1", - "headSection2": "Head section 2" - }, - "s": {}, - "o": { - "size": { - "t": "Taille", - "d": "Contrôle la taille globale" - }, - "type": { - "t": "Type", - "d": "Vous permet de choisir une des variantes de ce design" - }, - "armWidth": { - "t": "Largeur de bras", - "d": "Contrôle la largeur des bras" - }, - "armLength": { - "t": "Longueur des bras", - "d": "Contrôle la longueur des bras" - }, - "neckWidth": { - "t": "Largeur du cou", - "d": "Détermine la largeur du cou" - }, - "armTaper": { - "t": "Spirales des bras", - "d": "Contrôle la quantité de spirales que les tentacules font" - }, - "bottomTopArmRatio": { - "t": "Ratio entre le bras supérieur et inférieur", - "d": "FIXME: Aucune idée de ce que cela fait" - }, - "bottomArmReduction": { - "t": "Réduction du bras inférieur", - "d": "FIXME: Aucune idée de ce que cela fait" - }, - "bottomArmReductionPlushy": { - "t": "Réduction du bras inférieur (en peluche)", - "d": "FIXME: Aucune idée de ce que cela fait" - } - } -} diff --git a/designs/octoplushy/i18n/index.mjs b/designs/octoplushy/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/octoplushy/i18n/index.mjs +++ b/designs/octoplushy/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/octoplushy/i18n/nl.json b/designs/octoplushy/i18n/nl.json deleted file mode 100644 index f05cc424485..00000000000 --- a/designs/octoplushy/i18n/nl.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "t": "Octoplushy the octopus", - "d": "A multi-armed companion for next-level hugs", - "p": { - "armSection1": "Arm section 1", - "armSection2": "Arm section 2", - "eye1": "Eye 1", - "eye2": "Eye 2", - "eye3": "Eye 3", - "headSection1": "Head section 1", - "headSection2": "Head section 2" - }, - "s": {}, - "o": { - "size": { - "t": "Maat", - "d": "Controls the overall size" - }, - "type": { - "t": "Soort", - "d": "Allows you to choose one of the variants of this design" - }, - "armWidth": { - "t": "Arm width", - "d": "Controls the width of the arms" - }, - "armLength": { - "t": "Arm length", - "d": "Controls the length of the arms" - }, - "neckWidth": { - "t": "Neck width", - "d": "Determines the width at the neck" - }, - "armTaper": { - "t": "Arm tapering", - "d": "Controls the amount by which the arms taper" - }, - "bottomTopArmRatio": { - "t": "Bottom/Top arm ratio", - "d": "FIXME: No idea what this does" - }, - "bottomArmReduction": { - "t": "Bottom arm reduction", - "d": "FIXME: No idea what this does" - }, - "bottomArmReductionPlushy": { - "t": "Bottom arm reduction (plushy)", - "d": "FIXME: No idea what this does" - } - } -} diff --git a/designs/octoplushy/i18n/uk.json b/designs/octoplushy/i18n/uk.json deleted file mode 100644 index 37c13efb474..00000000000 --- a/designs/octoplushy/i18n/uk.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "t": "Octoplushy the octopus", - "d": "A multi-armed companion for next-level hugs", - "p": { - "armSection1": "Arm section 1", - "armSection2": "Arm section 2", - "eye1": "Eye 1", - "eye2": "Eye 2", - "eye3": "Eye 3", - "headSection1": "Head section 1", - "headSection2": "Head section 2" - }, - "s": {}, - "o": { - "size": { - "t": "Size", - "d": "Controls the overall size" - }, - "type": { - "t": "Type", - "d": "Allows you to choose one of the variants of this design" - }, - "armWidth": { - "t": "Arm width", - "d": "Controls the width of the arms" - }, - "armLength": { - "t": "Arm length", - "d": "Controls the length of the arms" - }, - "neckWidth": { - "t": "Neck width", - "d": "Determines the width at the neck" - }, - "armTaper": { - "t": "Arm tapering", - "d": "Controls the amount by which the arms taper" - }, - "bottomTopArmRatio": { - "t": "Bottom/Top arm ratio", - "d": "FIXME: No idea what this does" - }, - "bottomArmReduction": { - "t": "Bottom arm reduction", - "d": "FIXME: No idea what this does" - }, - "bottomArmReductionPlushy": { - "t": "Bottom arm reduction (plushy)", - "d": "FIXME: No idea what this does" - } - } -} diff --git a/designs/octoplushy/package.json b/designs/octoplushy/package.json index 698758968ee..546af307a82 100644 --- a/designs/octoplushy/package.json +++ b/designs/octoplushy/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/octoplushy", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for an octopus plushy toy", "author": "woutervdub (https://github.com/woutervdub)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/octoplushy/src/index.mjs b/designs/octoplushy/src/index.mjs index 9c044a95198..6efc9a789e7 100644 --- a/designs/octoplushy/src/index.mjs +++ b/designs/octoplushy/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { headSection1, headSection2 } from './head.mjs' import { armSection1, armSection2 } from './arm.mjs' @@ -7,9 +7,20 @@ import { eye1, eye2, eye3 } from './eye.mjs' // Setup our new design const Octoplushy = new Design({ - data, + data: about, parts: [headSection1, headSection2, armSection1, armSection2, eye1, eye2, eye3], }) // Named exports -export { headSection1, headSection2, armSection1, armSection2, eye1, eye2, eye3, Octoplushy, i18n } +export { + headSection1, + headSection2, + armSection1, + armSection2, + eye1, + eye2, + eye3, + Octoplushy, + i18n, + about, +} diff --git a/designs/octoplushy/tests/shared.test.mjs b/designs/octoplushy/tests/shared.test.mjs index 1e898c2cbf9..d35ccfae86d 100644 --- a/designs/octoplushy/tests/shared.test.mjs +++ b/designs/octoplushy/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Octoplushy, i18n } from '../src/index.mjs' +import { Octoplushy, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Octoplushy) +testPatternConfig(Octoplushy, about) // Test translation testPatternI18n(Octoplushy, i18n) diff --git a/designs/onyx/CHANGELOG.md b/designs/onyx/CHANGELOG.md index e7a7379799b..df1a911dc75 100644 --- a/designs/onyx/CHANGELOG.md +++ b/designs/onyx/CHANGELOG.md @@ -1,6 +1,12 @@ # Change log for: @freesewing/onyx +## 4.0.0 (2024-04-01) + +### Changed + + - Always load plugin-bust due to its changes in how it handle conditionality. + ## 3.0.0 (2023-09-30) ### Changed diff --git a/designs/onyx/README.md b/designs/onyx/README.md index 55ec8dfdf75..1cfba246e7a 100644 --- a/designs/onyx/README.md +++ b/designs/onyx/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:onyx - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/onyx @@ -59,7 +44,7 @@ A FreeSewing pattern for one-piece garments > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/onyx/data.mjs b/designs/onyx/data.mjs deleted file mode 100644 index 592d85873c1..00000000000 --- a/designs/onyx/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/onyx' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/onyx/i18n/de.json b/designs/onyx/i18n/de.json deleted file mode 100644 index 984e2bb4f8d..00000000000 --- a/designs/onyx/i18n/de.json +++ /dev/null @@ -1,252 +0,0 @@ -{ - "t": "Onyx one-piece", - "d": "Onyx is a versatile one-piece garment with several forms.", - "p": { - "base": "Base", - "back": "Back", - "front": "Front", - "neckband": "Neckband", - "raglanSleeve": "Sleeve", - "zipperGuard": "Zipper guard", - "crotchGusset": "Crotch gusset", - "hood": "Hood back", - "hoodFront": "Hood front", - "skirt": "Swim skirt", - "sleeveRibbing": "Sleeve ribbing", - "legRibbing": "Leg ribbing" - }, - "s": {}, - "o": { - "neckbandLength": { - "t": "Neckband length", - "d": "Controls how long the neckband is, as a percentage of the circumference of the neckline." - }, - "neckbandWidth": { - "t": "Neckband width", - "d": "Controls how wide the finished neckband will be." - }, - "hoodHem": { - "t": "Hood hem", - "d": "Sets the hem allowance along the front of the hood, as a multiple of the seam allowance." - }, - "sleeveRibbing": { - "t": "Sleeve Ribbing", - "d": "Choose whether to make ribbed knit cuffs for the sleeves or to use a hem." - }, - "sleeveRibbingNo": { - "t": "Hem", - "d": "Finish the sleeves with a hem." - }, - "sleeveRibbingYes": { - "t": "Ribbing", - "d": "Finish the sleeves with a piece of ribbing." - }, - "sleeveRibbingLength": { - "t": "Sleeve Ribbing Length", - "d": "Controls how long the ribbing around the sleeve is, as a percentage of the sleeve circumference." - }, - "sleeveRibbingWidth": { - "t": "Sleeve Ribbing Width", - "d": "Controls how wide the ribbing around the sleeve is." - }, - "sleeveHem": { - "t": "Sleeve hem", - "d": "Sets the hem allowance of the hem along the end of the sleeves, as a multiple of the seam allowance." - }, - "legRibbing": { - "t": "Leg Ribbing", - "d": "Choose whether to make ribbed knit cuffs for the legs or to use a hem." - }, - "legRibbingNo": { - "t": "Hem", - "d": "Finish the legs with a hem." - }, - "legRibbingYes": { - "t": "Ribbing", - "d": "Finish the legs with a piece of ribbing." - }, - "legRibbingLength": { - "t": "Leg Ribbing Length", - "d": "Controls how long the ribbing around the leg is, as a percentage of the leg circumference." - }, - "legRibbingWidth": { - "t": "Leg Ribbing Width", - "d": "Controls how wide the ribbing around the leg is." - }, - "legHem": { - "t": "Leg hem", - "d": "Sets the hem allowance of the hem along the bottom of the legs, as a multiple of the seam allowance." - }, - "backOnFold": { - "t": "Back on fold", - "d": "Enable this option to make the back out of a single piece, or disable to make it out of two mirrored pieces joined by a seam. It is recommended to disable this if placing a back zipper, and enable it otherwise." - }, - "backOnFoldNo": { - "t": "Cut separate", - "d": "Cut two separate mirrored back pieces" - }, - "backOnFoldYes": { - "t": "Cut on fold", - "d": "Cut the back as a single piece, on the fold" - }, - "frontOnFold": { - "t": "Front on fold", - "d": "Enable this option to make the front out of a single piece, or disable to make it out of two mirrored pieces joined by a seam. It is recommended to disable this if placing a front zipper, and enable it otherwise." - }, - "frontOnFoldNo": { - "t": "Cut separate", - "d": "Cut two separate mirrored front pieces" - }, - "frontOnFoldYes": { - "t": "Cut on fold", - "d": "Cut the back as a single piece, on the fold" - }, - "zipperLength": { - "t": "Zipper length", - "d": "The length of the zipper, as a percentage of the vertical trunk. It is recommended that you match this length (shown below in cm/in) to the length of the actual zipper, measured from lower stop to upper stop." - }, - "zipperGuardWidth": { - "t": "Zipper guard width", - "d": "How wide to make the zipper guard." - }, - "neckGuardLength": { - "t": "Neck guard length", - "d": "How far to have the zipper guard extend past the top of the zipper." - }, - "skirtHem": { - "t": "Skirt hem", - "d": "Sets the hem allowance of the hem along the bottom of the skirt, as a multiple of the seam allowance." - }, - "skirtWaistband": { - "t": "Skirt waistband", - "d": "Sets the width of the waistband along the top of the skirt, as a multiple of the seam allowance." - }, - - "hoodHeight": { - "t": "Hood height", - "d": "Controls how tall the hood will be." - }, - "hoodDepth": { - "t": "Hood depth", - "d": "Controls how much room will be in the hood around the back of the head." - }, - "centerSeamEase": { - "t": "Center seam ease", - "d": "Controls how long the center seam will be, and thus how low the crotch fork of the garment will be." - }, - "outseamEase": { - "t": "Outseam ease", - "d": "Controls how far down the garment the waist, hips, seat, and upper leg points on the outseam will be." - }, - "chestEase": { - "t": "Chest ease", - "d": "Controls how wide the garment will be around the chest." - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls how wide the garment will be around the chest." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls how wide the garment will be at the bottom hem. This option is only used if the straight sides option is disabled." - }, - "seatEase": { - "t": "Seat ease", - "d": "Controls how wide the seat is." - }, - "crotchGussetWidth": { - "t": "Crotch gusset Width", - "d": "Controls how wide the crotch gusset will be. Adjust so that the front and back pieces look smooth and clean around the crotch fork and upper legs. Deeper thighs and abdomens require a larger value, while wider ones require a smaller value." - }, - "upperLegEase": { - "t": "Upper leg ease", - "d": "Controls how wide the garment will be around the upper legs." - }, - "legHemEase": { - "t": "Leg hem ease", - "d": "Controls how wide the bottom of the legs will be." - }, - "neckBalance": { - "t": "Neck position", - "d": "Controls where the neck hole is placed on the garment." - }, - "neckEase": { - "t": "Neck ease", - "d": "Controls how large the neck hole is." - }, - "sleeveEase": { - "t": "Sleeve ease", - "d": "Affects how wide the sleeve is at the armhole on all garments, and has some affect on the width at the hem of short sleeved garments." - }, - "wristEase": { - "t": "Wrist ease", - "d": "Affects how wide the end of the sleeve is on sleeves that extend past the biceps. The effect is greater on longer sleeves." - }, - - "neckStyle": { - "t": "Neck style", - "d": "Select whether you want to add a hood to the garment, or finish the neck with a neckband." - }, - "neckStyle.neckband": { - "t": "Neckband", - "d": "Finish the neck with a neckband." - }, - "neckStyle.hood": { - "t": "Hood", - "d": "Generate a hood for the garment." - }, - "sleeveLength": { - "t": "Sleeve length", - "d": "Controls how long the sleeves of the garment will be." - }, - "legLength": { - "t": "Leg length", - "d": "Controls how long the legs of the garment will be." - }, - "hoodFrontPieceSize": { - "t": "Hood front piece size", - "d": "Controls if a front piece will be used, and how wide the front piece of the hood will be." - }, - "hoodFrontBonus": { - "t": "Hood front bonus", - "d": "Controls how far forward the hood comes over the forehead." - }, - "hoodFrontDip": { - "t": "Hood Front dip", - "d": "Controls far down the front of the hood drops over the forehead." - }, - "skirt": { - "t": "Skirt", - "d": "Select whether or not you want to add a simple gathered skirt around the waist of the garment." - }, - "skirtNo": { - "t": "Nothing", - "d": "A skirt will not be generated." - }, - "skirtYes": { - "t": "Swim skirt", - "d": "A skirt will be generated." - }, - "skirtLength": { - "t": "Skirt length", - "d": "Controls the length of the skirt, as a percentage of the waist to upper leg measurement." - }, - "skirtWidth": { - "t": "Skirt width", - "d": "Controls the width of the skirt at the bottom, as a percentage of the waist measurement." - }, - - "legTaperPosition": { - "t": "Leg taper position", - "d": "Controls how the lower legs are laid out on the pattern." - }, - "raglanScoopLength": { - "t": "Raglan scoop length", - "d": "Controls how far out from the armhole the raglan seam starts to scoop." - }, - "raglanScoopMagnitude": { - "t": "Raglan scoop depth", - "d": "Controls how much extra material to place under the armpits." - } - } -} diff --git a/designs/onyx/i18n/es.json b/designs/onyx/i18n/es.json deleted file mode 100644 index 984e2bb4f8d..00000000000 --- a/designs/onyx/i18n/es.json +++ /dev/null @@ -1,252 +0,0 @@ -{ - "t": "Onyx one-piece", - "d": "Onyx is a versatile one-piece garment with several forms.", - "p": { - "base": "Base", - "back": "Back", - "front": "Front", - "neckband": "Neckband", - "raglanSleeve": "Sleeve", - "zipperGuard": "Zipper guard", - "crotchGusset": "Crotch gusset", - "hood": "Hood back", - "hoodFront": "Hood front", - "skirt": "Swim skirt", - "sleeveRibbing": "Sleeve ribbing", - "legRibbing": "Leg ribbing" - }, - "s": {}, - "o": { - "neckbandLength": { - "t": "Neckband length", - "d": "Controls how long the neckband is, as a percentage of the circumference of the neckline." - }, - "neckbandWidth": { - "t": "Neckband width", - "d": "Controls how wide the finished neckband will be." - }, - "hoodHem": { - "t": "Hood hem", - "d": "Sets the hem allowance along the front of the hood, as a multiple of the seam allowance." - }, - "sleeveRibbing": { - "t": "Sleeve Ribbing", - "d": "Choose whether to make ribbed knit cuffs for the sleeves or to use a hem." - }, - "sleeveRibbingNo": { - "t": "Hem", - "d": "Finish the sleeves with a hem." - }, - "sleeveRibbingYes": { - "t": "Ribbing", - "d": "Finish the sleeves with a piece of ribbing." - }, - "sleeveRibbingLength": { - "t": "Sleeve Ribbing Length", - "d": "Controls how long the ribbing around the sleeve is, as a percentage of the sleeve circumference." - }, - "sleeveRibbingWidth": { - "t": "Sleeve Ribbing Width", - "d": "Controls how wide the ribbing around the sleeve is." - }, - "sleeveHem": { - "t": "Sleeve hem", - "d": "Sets the hem allowance of the hem along the end of the sleeves, as a multiple of the seam allowance." - }, - "legRibbing": { - "t": "Leg Ribbing", - "d": "Choose whether to make ribbed knit cuffs for the legs or to use a hem." - }, - "legRibbingNo": { - "t": "Hem", - "d": "Finish the legs with a hem." - }, - "legRibbingYes": { - "t": "Ribbing", - "d": "Finish the legs with a piece of ribbing." - }, - "legRibbingLength": { - "t": "Leg Ribbing Length", - "d": "Controls how long the ribbing around the leg is, as a percentage of the leg circumference." - }, - "legRibbingWidth": { - "t": "Leg Ribbing Width", - "d": "Controls how wide the ribbing around the leg is." - }, - "legHem": { - "t": "Leg hem", - "d": "Sets the hem allowance of the hem along the bottom of the legs, as a multiple of the seam allowance." - }, - "backOnFold": { - "t": "Back on fold", - "d": "Enable this option to make the back out of a single piece, or disable to make it out of two mirrored pieces joined by a seam. It is recommended to disable this if placing a back zipper, and enable it otherwise." - }, - "backOnFoldNo": { - "t": "Cut separate", - "d": "Cut two separate mirrored back pieces" - }, - "backOnFoldYes": { - "t": "Cut on fold", - "d": "Cut the back as a single piece, on the fold" - }, - "frontOnFold": { - "t": "Front on fold", - "d": "Enable this option to make the front out of a single piece, or disable to make it out of two mirrored pieces joined by a seam. It is recommended to disable this if placing a front zipper, and enable it otherwise." - }, - "frontOnFoldNo": { - "t": "Cut separate", - "d": "Cut two separate mirrored front pieces" - }, - "frontOnFoldYes": { - "t": "Cut on fold", - "d": "Cut the back as a single piece, on the fold" - }, - "zipperLength": { - "t": "Zipper length", - "d": "The length of the zipper, as a percentage of the vertical trunk. It is recommended that you match this length (shown below in cm/in) to the length of the actual zipper, measured from lower stop to upper stop." - }, - "zipperGuardWidth": { - "t": "Zipper guard width", - "d": "How wide to make the zipper guard." - }, - "neckGuardLength": { - "t": "Neck guard length", - "d": "How far to have the zipper guard extend past the top of the zipper." - }, - "skirtHem": { - "t": "Skirt hem", - "d": "Sets the hem allowance of the hem along the bottom of the skirt, as a multiple of the seam allowance." - }, - "skirtWaistband": { - "t": "Skirt waistband", - "d": "Sets the width of the waistband along the top of the skirt, as a multiple of the seam allowance." - }, - - "hoodHeight": { - "t": "Hood height", - "d": "Controls how tall the hood will be." - }, - "hoodDepth": { - "t": "Hood depth", - "d": "Controls how much room will be in the hood around the back of the head." - }, - "centerSeamEase": { - "t": "Center seam ease", - "d": "Controls how long the center seam will be, and thus how low the crotch fork of the garment will be." - }, - "outseamEase": { - "t": "Outseam ease", - "d": "Controls how far down the garment the waist, hips, seat, and upper leg points on the outseam will be." - }, - "chestEase": { - "t": "Chest ease", - "d": "Controls how wide the garment will be around the chest." - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls how wide the garment will be around the chest." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls how wide the garment will be at the bottom hem. This option is only used if the straight sides option is disabled." - }, - "seatEase": { - "t": "Seat ease", - "d": "Controls how wide the seat is." - }, - "crotchGussetWidth": { - "t": "Crotch gusset Width", - "d": "Controls how wide the crotch gusset will be. Adjust so that the front and back pieces look smooth and clean around the crotch fork and upper legs. Deeper thighs and abdomens require a larger value, while wider ones require a smaller value." - }, - "upperLegEase": { - "t": "Upper leg ease", - "d": "Controls how wide the garment will be around the upper legs." - }, - "legHemEase": { - "t": "Leg hem ease", - "d": "Controls how wide the bottom of the legs will be." - }, - "neckBalance": { - "t": "Neck position", - "d": "Controls where the neck hole is placed on the garment." - }, - "neckEase": { - "t": "Neck ease", - "d": "Controls how large the neck hole is." - }, - "sleeveEase": { - "t": "Sleeve ease", - "d": "Affects how wide the sleeve is at the armhole on all garments, and has some affect on the width at the hem of short sleeved garments." - }, - "wristEase": { - "t": "Wrist ease", - "d": "Affects how wide the end of the sleeve is on sleeves that extend past the biceps. The effect is greater on longer sleeves." - }, - - "neckStyle": { - "t": "Neck style", - "d": "Select whether you want to add a hood to the garment, or finish the neck with a neckband." - }, - "neckStyle.neckband": { - "t": "Neckband", - "d": "Finish the neck with a neckband." - }, - "neckStyle.hood": { - "t": "Hood", - "d": "Generate a hood for the garment." - }, - "sleeveLength": { - "t": "Sleeve length", - "d": "Controls how long the sleeves of the garment will be." - }, - "legLength": { - "t": "Leg length", - "d": "Controls how long the legs of the garment will be." - }, - "hoodFrontPieceSize": { - "t": "Hood front piece size", - "d": "Controls if a front piece will be used, and how wide the front piece of the hood will be." - }, - "hoodFrontBonus": { - "t": "Hood front bonus", - "d": "Controls how far forward the hood comes over the forehead." - }, - "hoodFrontDip": { - "t": "Hood Front dip", - "d": "Controls far down the front of the hood drops over the forehead." - }, - "skirt": { - "t": "Skirt", - "d": "Select whether or not you want to add a simple gathered skirt around the waist of the garment." - }, - "skirtNo": { - "t": "Nothing", - "d": "A skirt will not be generated." - }, - "skirtYes": { - "t": "Swim skirt", - "d": "A skirt will be generated." - }, - "skirtLength": { - "t": "Skirt length", - "d": "Controls the length of the skirt, as a percentage of the waist to upper leg measurement." - }, - "skirtWidth": { - "t": "Skirt width", - "d": "Controls the width of the skirt at the bottom, as a percentage of the waist measurement." - }, - - "legTaperPosition": { - "t": "Leg taper position", - "d": "Controls how the lower legs are laid out on the pattern." - }, - "raglanScoopLength": { - "t": "Raglan scoop length", - "d": "Controls how far out from the armhole the raglan seam starts to scoop." - }, - "raglanScoopMagnitude": { - "t": "Raglan scoop depth", - "d": "Controls how much extra material to place under the armpits." - } - } -} diff --git a/designs/onyx/i18n/fr.json b/designs/onyx/i18n/fr.json deleted file mode 100644 index 984e2bb4f8d..00000000000 --- a/designs/onyx/i18n/fr.json +++ /dev/null @@ -1,252 +0,0 @@ -{ - "t": "Onyx one-piece", - "d": "Onyx is a versatile one-piece garment with several forms.", - "p": { - "base": "Base", - "back": "Back", - "front": "Front", - "neckband": "Neckband", - "raglanSleeve": "Sleeve", - "zipperGuard": "Zipper guard", - "crotchGusset": "Crotch gusset", - "hood": "Hood back", - "hoodFront": "Hood front", - "skirt": "Swim skirt", - "sleeveRibbing": "Sleeve ribbing", - "legRibbing": "Leg ribbing" - }, - "s": {}, - "o": { - "neckbandLength": { - "t": "Neckband length", - "d": "Controls how long the neckband is, as a percentage of the circumference of the neckline." - }, - "neckbandWidth": { - "t": "Neckband width", - "d": "Controls how wide the finished neckband will be." - }, - "hoodHem": { - "t": "Hood hem", - "d": "Sets the hem allowance along the front of the hood, as a multiple of the seam allowance." - }, - "sleeveRibbing": { - "t": "Sleeve Ribbing", - "d": "Choose whether to make ribbed knit cuffs for the sleeves or to use a hem." - }, - "sleeveRibbingNo": { - "t": "Hem", - "d": "Finish the sleeves with a hem." - }, - "sleeveRibbingYes": { - "t": "Ribbing", - "d": "Finish the sleeves with a piece of ribbing." - }, - "sleeveRibbingLength": { - "t": "Sleeve Ribbing Length", - "d": "Controls how long the ribbing around the sleeve is, as a percentage of the sleeve circumference." - }, - "sleeveRibbingWidth": { - "t": "Sleeve Ribbing Width", - "d": "Controls how wide the ribbing around the sleeve is." - }, - "sleeveHem": { - "t": "Sleeve hem", - "d": "Sets the hem allowance of the hem along the end of the sleeves, as a multiple of the seam allowance." - }, - "legRibbing": { - "t": "Leg Ribbing", - "d": "Choose whether to make ribbed knit cuffs for the legs or to use a hem." - }, - "legRibbingNo": { - "t": "Hem", - "d": "Finish the legs with a hem." - }, - "legRibbingYes": { - "t": "Ribbing", - "d": "Finish the legs with a piece of ribbing." - }, - "legRibbingLength": { - "t": "Leg Ribbing Length", - "d": "Controls how long the ribbing around the leg is, as a percentage of the leg circumference." - }, - "legRibbingWidth": { - "t": "Leg Ribbing Width", - "d": "Controls how wide the ribbing around the leg is." - }, - "legHem": { - "t": "Leg hem", - "d": "Sets the hem allowance of the hem along the bottom of the legs, as a multiple of the seam allowance." - }, - "backOnFold": { - "t": "Back on fold", - "d": "Enable this option to make the back out of a single piece, or disable to make it out of two mirrored pieces joined by a seam. It is recommended to disable this if placing a back zipper, and enable it otherwise." - }, - "backOnFoldNo": { - "t": "Cut separate", - "d": "Cut two separate mirrored back pieces" - }, - "backOnFoldYes": { - "t": "Cut on fold", - "d": "Cut the back as a single piece, on the fold" - }, - "frontOnFold": { - "t": "Front on fold", - "d": "Enable this option to make the front out of a single piece, or disable to make it out of two mirrored pieces joined by a seam. It is recommended to disable this if placing a front zipper, and enable it otherwise." - }, - "frontOnFoldNo": { - "t": "Cut separate", - "d": "Cut two separate mirrored front pieces" - }, - "frontOnFoldYes": { - "t": "Cut on fold", - "d": "Cut the back as a single piece, on the fold" - }, - "zipperLength": { - "t": "Zipper length", - "d": "The length of the zipper, as a percentage of the vertical trunk. It is recommended that you match this length (shown below in cm/in) to the length of the actual zipper, measured from lower stop to upper stop." - }, - "zipperGuardWidth": { - "t": "Zipper guard width", - "d": "How wide to make the zipper guard." - }, - "neckGuardLength": { - "t": "Neck guard length", - "d": "How far to have the zipper guard extend past the top of the zipper." - }, - "skirtHem": { - "t": "Skirt hem", - "d": "Sets the hem allowance of the hem along the bottom of the skirt, as a multiple of the seam allowance." - }, - "skirtWaistband": { - "t": "Skirt waistband", - "d": "Sets the width of the waistband along the top of the skirt, as a multiple of the seam allowance." - }, - - "hoodHeight": { - "t": "Hood height", - "d": "Controls how tall the hood will be." - }, - "hoodDepth": { - "t": "Hood depth", - "d": "Controls how much room will be in the hood around the back of the head." - }, - "centerSeamEase": { - "t": "Center seam ease", - "d": "Controls how long the center seam will be, and thus how low the crotch fork of the garment will be." - }, - "outseamEase": { - "t": "Outseam ease", - "d": "Controls how far down the garment the waist, hips, seat, and upper leg points on the outseam will be." - }, - "chestEase": { - "t": "Chest ease", - "d": "Controls how wide the garment will be around the chest." - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls how wide the garment will be around the chest." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls how wide the garment will be at the bottom hem. This option is only used if the straight sides option is disabled." - }, - "seatEase": { - "t": "Seat ease", - "d": "Controls how wide the seat is." - }, - "crotchGussetWidth": { - "t": "Crotch gusset Width", - "d": "Controls how wide the crotch gusset will be. Adjust so that the front and back pieces look smooth and clean around the crotch fork and upper legs. Deeper thighs and abdomens require a larger value, while wider ones require a smaller value." - }, - "upperLegEase": { - "t": "Upper leg ease", - "d": "Controls how wide the garment will be around the upper legs." - }, - "legHemEase": { - "t": "Leg hem ease", - "d": "Controls how wide the bottom of the legs will be." - }, - "neckBalance": { - "t": "Neck position", - "d": "Controls where the neck hole is placed on the garment." - }, - "neckEase": { - "t": "Neck ease", - "d": "Controls how large the neck hole is." - }, - "sleeveEase": { - "t": "Sleeve ease", - "d": "Affects how wide the sleeve is at the armhole on all garments, and has some affect on the width at the hem of short sleeved garments." - }, - "wristEase": { - "t": "Wrist ease", - "d": "Affects how wide the end of the sleeve is on sleeves that extend past the biceps. The effect is greater on longer sleeves." - }, - - "neckStyle": { - "t": "Neck style", - "d": "Select whether you want to add a hood to the garment, or finish the neck with a neckband." - }, - "neckStyle.neckband": { - "t": "Neckband", - "d": "Finish the neck with a neckband." - }, - "neckStyle.hood": { - "t": "Hood", - "d": "Generate a hood for the garment." - }, - "sleeveLength": { - "t": "Sleeve length", - "d": "Controls how long the sleeves of the garment will be." - }, - "legLength": { - "t": "Leg length", - "d": "Controls how long the legs of the garment will be." - }, - "hoodFrontPieceSize": { - "t": "Hood front piece size", - "d": "Controls if a front piece will be used, and how wide the front piece of the hood will be." - }, - "hoodFrontBonus": { - "t": "Hood front bonus", - "d": "Controls how far forward the hood comes over the forehead." - }, - "hoodFrontDip": { - "t": "Hood Front dip", - "d": "Controls far down the front of the hood drops over the forehead." - }, - "skirt": { - "t": "Skirt", - "d": "Select whether or not you want to add a simple gathered skirt around the waist of the garment." - }, - "skirtNo": { - "t": "Nothing", - "d": "A skirt will not be generated." - }, - "skirtYes": { - "t": "Swim skirt", - "d": "A skirt will be generated." - }, - "skirtLength": { - "t": "Skirt length", - "d": "Controls the length of the skirt, as a percentage of the waist to upper leg measurement." - }, - "skirtWidth": { - "t": "Skirt width", - "d": "Controls the width of the skirt at the bottom, as a percentage of the waist measurement." - }, - - "legTaperPosition": { - "t": "Leg taper position", - "d": "Controls how the lower legs are laid out on the pattern." - }, - "raglanScoopLength": { - "t": "Raglan scoop length", - "d": "Controls how far out from the armhole the raglan seam starts to scoop." - }, - "raglanScoopMagnitude": { - "t": "Raglan scoop depth", - "d": "Controls how much extra material to place under the armpits." - } - } -} diff --git a/designs/onyx/i18n/index.mjs b/designs/onyx/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/onyx/i18n/index.mjs +++ b/designs/onyx/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/onyx/i18n/nl.json b/designs/onyx/i18n/nl.json deleted file mode 100644 index 984e2bb4f8d..00000000000 --- a/designs/onyx/i18n/nl.json +++ /dev/null @@ -1,252 +0,0 @@ -{ - "t": "Onyx one-piece", - "d": "Onyx is a versatile one-piece garment with several forms.", - "p": { - "base": "Base", - "back": "Back", - "front": "Front", - "neckband": "Neckband", - "raglanSleeve": "Sleeve", - "zipperGuard": "Zipper guard", - "crotchGusset": "Crotch gusset", - "hood": "Hood back", - "hoodFront": "Hood front", - "skirt": "Swim skirt", - "sleeveRibbing": "Sleeve ribbing", - "legRibbing": "Leg ribbing" - }, - "s": {}, - "o": { - "neckbandLength": { - "t": "Neckband length", - "d": "Controls how long the neckband is, as a percentage of the circumference of the neckline." - }, - "neckbandWidth": { - "t": "Neckband width", - "d": "Controls how wide the finished neckband will be." - }, - "hoodHem": { - "t": "Hood hem", - "d": "Sets the hem allowance along the front of the hood, as a multiple of the seam allowance." - }, - "sleeveRibbing": { - "t": "Sleeve Ribbing", - "d": "Choose whether to make ribbed knit cuffs for the sleeves or to use a hem." - }, - "sleeveRibbingNo": { - "t": "Hem", - "d": "Finish the sleeves with a hem." - }, - "sleeveRibbingYes": { - "t": "Ribbing", - "d": "Finish the sleeves with a piece of ribbing." - }, - "sleeveRibbingLength": { - "t": "Sleeve Ribbing Length", - "d": "Controls how long the ribbing around the sleeve is, as a percentage of the sleeve circumference." - }, - "sleeveRibbingWidth": { - "t": "Sleeve Ribbing Width", - "d": "Controls how wide the ribbing around the sleeve is." - }, - "sleeveHem": { - "t": "Sleeve hem", - "d": "Sets the hem allowance of the hem along the end of the sleeves, as a multiple of the seam allowance." - }, - "legRibbing": { - "t": "Leg Ribbing", - "d": "Choose whether to make ribbed knit cuffs for the legs or to use a hem." - }, - "legRibbingNo": { - "t": "Hem", - "d": "Finish the legs with a hem." - }, - "legRibbingYes": { - "t": "Ribbing", - "d": "Finish the legs with a piece of ribbing." - }, - "legRibbingLength": { - "t": "Leg Ribbing Length", - "d": "Controls how long the ribbing around the leg is, as a percentage of the leg circumference." - }, - "legRibbingWidth": { - "t": "Leg Ribbing Width", - "d": "Controls how wide the ribbing around the leg is." - }, - "legHem": { - "t": "Leg hem", - "d": "Sets the hem allowance of the hem along the bottom of the legs, as a multiple of the seam allowance." - }, - "backOnFold": { - "t": "Back on fold", - "d": "Enable this option to make the back out of a single piece, or disable to make it out of two mirrored pieces joined by a seam. It is recommended to disable this if placing a back zipper, and enable it otherwise." - }, - "backOnFoldNo": { - "t": "Cut separate", - "d": "Cut two separate mirrored back pieces" - }, - "backOnFoldYes": { - "t": "Cut on fold", - "d": "Cut the back as a single piece, on the fold" - }, - "frontOnFold": { - "t": "Front on fold", - "d": "Enable this option to make the front out of a single piece, or disable to make it out of two mirrored pieces joined by a seam. It is recommended to disable this if placing a front zipper, and enable it otherwise." - }, - "frontOnFoldNo": { - "t": "Cut separate", - "d": "Cut two separate mirrored front pieces" - }, - "frontOnFoldYes": { - "t": "Cut on fold", - "d": "Cut the back as a single piece, on the fold" - }, - "zipperLength": { - "t": "Zipper length", - "d": "The length of the zipper, as a percentage of the vertical trunk. It is recommended that you match this length (shown below in cm/in) to the length of the actual zipper, measured from lower stop to upper stop." - }, - "zipperGuardWidth": { - "t": "Zipper guard width", - "d": "How wide to make the zipper guard." - }, - "neckGuardLength": { - "t": "Neck guard length", - "d": "How far to have the zipper guard extend past the top of the zipper." - }, - "skirtHem": { - "t": "Skirt hem", - "d": "Sets the hem allowance of the hem along the bottom of the skirt, as a multiple of the seam allowance." - }, - "skirtWaistband": { - "t": "Skirt waistband", - "d": "Sets the width of the waistband along the top of the skirt, as a multiple of the seam allowance." - }, - - "hoodHeight": { - "t": "Hood height", - "d": "Controls how tall the hood will be." - }, - "hoodDepth": { - "t": "Hood depth", - "d": "Controls how much room will be in the hood around the back of the head." - }, - "centerSeamEase": { - "t": "Center seam ease", - "d": "Controls how long the center seam will be, and thus how low the crotch fork of the garment will be." - }, - "outseamEase": { - "t": "Outseam ease", - "d": "Controls how far down the garment the waist, hips, seat, and upper leg points on the outseam will be." - }, - "chestEase": { - "t": "Chest ease", - "d": "Controls how wide the garment will be around the chest." - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls how wide the garment will be around the chest." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls how wide the garment will be at the bottom hem. This option is only used if the straight sides option is disabled." - }, - "seatEase": { - "t": "Seat ease", - "d": "Controls how wide the seat is." - }, - "crotchGussetWidth": { - "t": "Crotch gusset Width", - "d": "Controls how wide the crotch gusset will be. Adjust so that the front and back pieces look smooth and clean around the crotch fork and upper legs. Deeper thighs and abdomens require a larger value, while wider ones require a smaller value." - }, - "upperLegEase": { - "t": "Upper leg ease", - "d": "Controls how wide the garment will be around the upper legs." - }, - "legHemEase": { - "t": "Leg hem ease", - "d": "Controls how wide the bottom of the legs will be." - }, - "neckBalance": { - "t": "Neck position", - "d": "Controls where the neck hole is placed on the garment." - }, - "neckEase": { - "t": "Neck ease", - "d": "Controls how large the neck hole is." - }, - "sleeveEase": { - "t": "Sleeve ease", - "d": "Affects how wide the sleeve is at the armhole on all garments, and has some affect on the width at the hem of short sleeved garments." - }, - "wristEase": { - "t": "Wrist ease", - "d": "Affects how wide the end of the sleeve is on sleeves that extend past the biceps. The effect is greater on longer sleeves." - }, - - "neckStyle": { - "t": "Neck style", - "d": "Select whether you want to add a hood to the garment, or finish the neck with a neckband." - }, - "neckStyle.neckband": { - "t": "Neckband", - "d": "Finish the neck with a neckband." - }, - "neckStyle.hood": { - "t": "Hood", - "d": "Generate a hood for the garment." - }, - "sleeveLength": { - "t": "Sleeve length", - "d": "Controls how long the sleeves of the garment will be." - }, - "legLength": { - "t": "Leg length", - "d": "Controls how long the legs of the garment will be." - }, - "hoodFrontPieceSize": { - "t": "Hood front piece size", - "d": "Controls if a front piece will be used, and how wide the front piece of the hood will be." - }, - "hoodFrontBonus": { - "t": "Hood front bonus", - "d": "Controls how far forward the hood comes over the forehead." - }, - "hoodFrontDip": { - "t": "Hood Front dip", - "d": "Controls far down the front of the hood drops over the forehead." - }, - "skirt": { - "t": "Skirt", - "d": "Select whether or not you want to add a simple gathered skirt around the waist of the garment." - }, - "skirtNo": { - "t": "Nothing", - "d": "A skirt will not be generated." - }, - "skirtYes": { - "t": "Swim skirt", - "d": "A skirt will be generated." - }, - "skirtLength": { - "t": "Skirt length", - "d": "Controls the length of the skirt, as a percentage of the waist to upper leg measurement." - }, - "skirtWidth": { - "t": "Skirt width", - "d": "Controls the width of the skirt at the bottom, as a percentage of the waist measurement." - }, - - "legTaperPosition": { - "t": "Leg taper position", - "d": "Controls how the lower legs are laid out on the pattern." - }, - "raglanScoopLength": { - "t": "Raglan scoop length", - "d": "Controls how far out from the armhole the raglan seam starts to scoop." - }, - "raglanScoopMagnitude": { - "t": "Raglan scoop depth", - "d": "Controls how much extra material to place under the armpits." - } - } -} diff --git a/designs/onyx/i18n/uk.json b/designs/onyx/i18n/uk.json deleted file mode 100644 index 984e2bb4f8d..00000000000 --- a/designs/onyx/i18n/uk.json +++ /dev/null @@ -1,252 +0,0 @@ -{ - "t": "Onyx one-piece", - "d": "Onyx is a versatile one-piece garment with several forms.", - "p": { - "base": "Base", - "back": "Back", - "front": "Front", - "neckband": "Neckband", - "raglanSleeve": "Sleeve", - "zipperGuard": "Zipper guard", - "crotchGusset": "Crotch gusset", - "hood": "Hood back", - "hoodFront": "Hood front", - "skirt": "Swim skirt", - "sleeveRibbing": "Sleeve ribbing", - "legRibbing": "Leg ribbing" - }, - "s": {}, - "o": { - "neckbandLength": { - "t": "Neckband length", - "d": "Controls how long the neckband is, as a percentage of the circumference of the neckline." - }, - "neckbandWidth": { - "t": "Neckband width", - "d": "Controls how wide the finished neckband will be." - }, - "hoodHem": { - "t": "Hood hem", - "d": "Sets the hem allowance along the front of the hood, as a multiple of the seam allowance." - }, - "sleeveRibbing": { - "t": "Sleeve Ribbing", - "d": "Choose whether to make ribbed knit cuffs for the sleeves or to use a hem." - }, - "sleeveRibbingNo": { - "t": "Hem", - "d": "Finish the sleeves with a hem." - }, - "sleeveRibbingYes": { - "t": "Ribbing", - "d": "Finish the sleeves with a piece of ribbing." - }, - "sleeveRibbingLength": { - "t": "Sleeve Ribbing Length", - "d": "Controls how long the ribbing around the sleeve is, as a percentage of the sleeve circumference." - }, - "sleeveRibbingWidth": { - "t": "Sleeve Ribbing Width", - "d": "Controls how wide the ribbing around the sleeve is." - }, - "sleeveHem": { - "t": "Sleeve hem", - "d": "Sets the hem allowance of the hem along the end of the sleeves, as a multiple of the seam allowance." - }, - "legRibbing": { - "t": "Leg Ribbing", - "d": "Choose whether to make ribbed knit cuffs for the legs or to use a hem." - }, - "legRibbingNo": { - "t": "Hem", - "d": "Finish the legs with a hem." - }, - "legRibbingYes": { - "t": "Ribbing", - "d": "Finish the legs with a piece of ribbing." - }, - "legRibbingLength": { - "t": "Leg Ribbing Length", - "d": "Controls how long the ribbing around the leg is, as a percentage of the leg circumference." - }, - "legRibbingWidth": { - "t": "Leg Ribbing Width", - "d": "Controls how wide the ribbing around the leg is." - }, - "legHem": { - "t": "Leg hem", - "d": "Sets the hem allowance of the hem along the bottom of the legs, as a multiple of the seam allowance." - }, - "backOnFold": { - "t": "Back on fold", - "d": "Enable this option to make the back out of a single piece, or disable to make it out of two mirrored pieces joined by a seam. It is recommended to disable this if placing a back zipper, and enable it otherwise." - }, - "backOnFoldNo": { - "t": "Cut separate", - "d": "Cut two separate mirrored back pieces" - }, - "backOnFoldYes": { - "t": "Cut on fold", - "d": "Cut the back as a single piece, on the fold" - }, - "frontOnFold": { - "t": "Front on fold", - "d": "Enable this option to make the front out of a single piece, or disable to make it out of two mirrored pieces joined by a seam. It is recommended to disable this if placing a front zipper, and enable it otherwise." - }, - "frontOnFoldNo": { - "t": "Cut separate", - "d": "Cut two separate mirrored front pieces" - }, - "frontOnFoldYes": { - "t": "Cut on fold", - "d": "Cut the back as a single piece, on the fold" - }, - "zipperLength": { - "t": "Zipper length", - "d": "The length of the zipper, as a percentage of the vertical trunk. It is recommended that you match this length (shown below in cm/in) to the length of the actual zipper, measured from lower stop to upper stop." - }, - "zipperGuardWidth": { - "t": "Zipper guard width", - "d": "How wide to make the zipper guard." - }, - "neckGuardLength": { - "t": "Neck guard length", - "d": "How far to have the zipper guard extend past the top of the zipper." - }, - "skirtHem": { - "t": "Skirt hem", - "d": "Sets the hem allowance of the hem along the bottom of the skirt, as a multiple of the seam allowance." - }, - "skirtWaistband": { - "t": "Skirt waistband", - "d": "Sets the width of the waistband along the top of the skirt, as a multiple of the seam allowance." - }, - - "hoodHeight": { - "t": "Hood height", - "d": "Controls how tall the hood will be." - }, - "hoodDepth": { - "t": "Hood depth", - "d": "Controls how much room will be in the hood around the back of the head." - }, - "centerSeamEase": { - "t": "Center seam ease", - "d": "Controls how long the center seam will be, and thus how low the crotch fork of the garment will be." - }, - "outseamEase": { - "t": "Outseam ease", - "d": "Controls how far down the garment the waist, hips, seat, and upper leg points on the outseam will be." - }, - "chestEase": { - "t": "Chest ease", - "d": "Controls how wide the garment will be around the chest." - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls how wide the garment will be around the chest." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls how wide the garment will be at the bottom hem. This option is only used if the straight sides option is disabled." - }, - "seatEase": { - "t": "Seat ease", - "d": "Controls how wide the seat is." - }, - "crotchGussetWidth": { - "t": "Crotch gusset Width", - "d": "Controls how wide the crotch gusset will be. Adjust so that the front and back pieces look smooth and clean around the crotch fork and upper legs. Deeper thighs and abdomens require a larger value, while wider ones require a smaller value." - }, - "upperLegEase": { - "t": "Upper leg ease", - "d": "Controls how wide the garment will be around the upper legs." - }, - "legHemEase": { - "t": "Leg hem ease", - "d": "Controls how wide the bottom of the legs will be." - }, - "neckBalance": { - "t": "Neck position", - "d": "Controls where the neck hole is placed on the garment." - }, - "neckEase": { - "t": "Neck ease", - "d": "Controls how large the neck hole is." - }, - "sleeveEase": { - "t": "Sleeve ease", - "d": "Affects how wide the sleeve is at the armhole on all garments, and has some affect on the width at the hem of short sleeved garments." - }, - "wristEase": { - "t": "Wrist ease", - "d": "Affects how wide the end of the sleeve is on sleeves that extend past the biceps. The effect is greater on longer sleeves." - }, - - "neckStyle": { - "t": "Neck style", - "d": "Select whether you want to add a hood to the garment, or finish the neck with a neckband." - }, - "neckStyle.neckband": { - "t": "Neckband", - "d": "Finish the neck with a neckband." - }, - "neckStyle.hood": { - "t": "Hood", - "d": "Generate a hood for the garment." - }, - "sleeveLength": { - "t": "Sleeve length", - "d": "Controls how long the sleeves of the garment will be." - }, - "legLength": { - "t": "Leg length", - "d": "Controls how long the legs of the garment will be." - }, - "hoodFrontPieceSize": { - "t": "Hood front piece size", - "d": "Controls if a front piece will be used, and how wide the front piece of the hood will be." - }, - "hoodFrontBonus": { - "t": "Hood front bonus", - "d": "Controls how far forward the hood comes over the forehead." - }, - "hoodFrontDip": { - "t": "Hood Front dip", - "d": "Controls far down the front of the hood drops over the forehead." - }, - "skirt": { - "t": "Skirt", - "d": "Select whether or not you want to add a simple gathered skirt around the waist of the garment." - }, - "skirtNo": { - "t": "Nothing", - "d": "A skirt will not be generated." - }, - "skirtYes": { - "t": "Swim skirt", - "d": "A skirt will be generated." - }, - "skirtLength": { - "t": "Skirt length", - "d": "Controls the length of the skirt, as a percentage of the waist to upper leg measurement." - }, - "skirtWidth": { - "t": "Skirt width", - "d": "Controls the width of the skirt at the bottom, as a percentage of the waist measurement." - }, - - "legTaperPosition": { - "t": "Leg taper position", - "d": "Controls how the lower legs are laid out on the pattern." - }, - "raglanScoopLength": { - "t": "Raglan scoop length", - "d": "Controls how far out from the armhole the raglan seam starts to scoop." - }, - "raglanScoopMagnitude": { - "t": "Raglan scoop depth", - "d": "Controls how much extra material to place under the armpits." - } - } -} diff --git a/designs/onyx/package.json b/designs/onyx/package.json index 29acd1a7b93..56d09eb844e 100644 --- a/designs/onyx/package.json +++ b/designs/onyx/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/onyx", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for one-piece garments", "author": "Thrunic (https://github.com/Thrunic)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/onyx/src/index.mjs b/designs/onyx/src/index.mjs index c09e0bf3714..332a54e2ba1 100644 --- a/designs/onyx/src/index.mjs +++ b/designs/onyx/src/index.mjs @@ -1,6 +1,6 @@ // Import Design constructor import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' // Import Parts import { front } from './front.mjs' @@ -17,7 +17,7 @@ import { legRibbing } from './legribbing.mjs' // Create new design const Onyx = new Design({ - data, + data: about, parts: [ front, back, @@ -48,4 +48,5 @@ export { legRibbing, Onyx, i18n, + about, } diff --git a/designs/onyx/tests/shared.test.mjs b/designs/onyx/tests/shared.test.mjs index 56b156f3ef2..a0c19ae38e1 100644 --- a/designs/onyx/tests/shared.test.mjs +++ b/designs/onyx/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Onyx, i18n } from '../src/index.mjs' +import { Onyx, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Onyx) +testPatternConfig(Onyx, about) // Test translation testPatternI18n(Onyx, i18n) diff --git a/designs/opal/README.md b/designs/opal/README.md index 26d1b52f417..756b1e39d25 100644 --- a/designs/opal/README.md +++ b/designs/opal/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:opal - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/opal @@ -59,7 +44,7 @@ A FreeSewing pattern for overalls > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/opal/data.mjs b/designs/opal/data.mjs deleted file mode 100644 index 58984d86295..00000000000 --- a/designs/opal/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/opal' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/opal/i18n/de.json b/designs/opal/i18n/de.json deleted file mode 100644 index 15ff85543e0..00000000000 --- a/designs/opal/i18n/de.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Opal", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/opal/i18n/es.json b/designs/opal/i18n/es.json deleted file mode 100644 index 15ff85543e0..00000000000 --- a/designs/opal/i18n/es.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Opal", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/opal/i18n/fr.json b/designs/opal/i18n/fr.json deleted file mode 100644 index 15ff85543e0..00000000000 --- a/designs/opal/i18n/fr.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Opal", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/opal/i18n/index.mjs b/designs/opal/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/opal/i18n/index.mjs +++ b/designs/opal/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/opal/i18n/nl.json b/designs/opal/i18n/nl.json deleted file mode 100644 index 15ff85543e0..00000000000 --- a/designs/opal/i18n/nl.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Opal", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/opal/i18n/uk.json b/designs/opal/i18n/uk.json deleted file mode 100644 index 15ff85543e0..00000000000 --- a/designs/opal/i18n/uk.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Opal", - "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } -} diff --git a/designs/opal/package.json b/designs/opal/package.json index 5e6cef2dd99..e7134b50c21 100644 --- a/designs/opal/package.json +++ b/designs/opal/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/opal", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for overalls", "author": "Thrunic (https://github.com/Thrunic)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/opal/src/index.mjs b/designs/opal/src/index.mjs index 010bef67feb..a0dbf46316f 100644 --- a/designs/opal/src/index.mjs +++ b/designs/opal/src/index.mjs @@ -1,6 +1,6 @@ import { Design } from '@freesewing/core' import { i18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } // Parts import { front } from './front.mjs' import { back } from './back.mjs' @@ -17,7 +17,7 @@ import { hammerLoop } from './hammerloop.mjs' // Create new design const Opal = new Design({ - data, + data: about, parts: [ front, back, @@ -50,4 +50,5 @@ export { hammerLoop, i18n, Opal, + about, } diff --git a/designs/opal/tests/shared.test.mjs b/designs/opal/tests/shared.test.mjs index 9267c200845..32803f362b7 100644 --- a/designs/opal/tests/shared.test.mjs +++ b/designs/opal/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Opal, i18n } from '../src/index.mjs' +import { Opal, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Opal) +testPatternConfig(Opal, about) // Test translation testPatternI18n(Opal, i18n) diff --git a/designs/otis/README.md b/designs/otis/README.md index b9cb131b2b8..e68b91a4689 100644 --- a/designs/otis/README.md +++ b/designs/otis/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:otis - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/otis @@ -59,7 +44,7 @@ A FreeSewing pattern for a baby romper > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/otis/data.mjs b/designs/otis/data.mjs deleted file mode 100644 index e161d86dad0..00000000000 --- a/designs/otis/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/otis' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/otis/i18n/de.json b/designs/otis/i18n/de.json deleted file mode 100644 index 7dbaf3b1927..00000000000 --- a/designs/otis/i18n/de.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "t": "Otis", - "d": "A FreeSewing pattern for a romper", - "p": { - "back": "Back", - "front": "Front", - "shortsleeve": "Short sleeve", - "longsleeve": "Long sleeve", - "bindingNeckBack": "Neck back binding", - "bindingNeckFront": "Neck front binding", - "bindingLeg": "Leg binding" - }, - "s": { - "bindingNeckBack.t": "The Back Neck Binding is not shown", - "bindingNeckBack.d": "The **Back Neck Binding** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long.", - "bindingNeckFront.t": "The Front Neck Binding is not shown", - "bindingNeckFront.d": "The **Front Neck Binding** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long.", - "bindingLeg.t": "The Leg Binding is not shown", - "bindingLeg.d": "The **Leg Binding** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long." - }, - "o": { - "binding": { - "t": "Binding", - "d": "Binding determines the size of the binding for the neck and leg openings." - }, - "ease": { - "t": "Ease", - "d": "The ease is a percentage of the waist measurement. Default is 14%" - }, - "hem": { - "t": "Hem", - "d": "Hem determines the size of the hem on the sleeves." - }, - "sleeveType": { - "t": "Sleeve Type", - "d": "Otis can be made with short or long sleeves." - }, - "sleeveType.long": { - "t": "Long Sleeve", - "d": "Long sleeves, to the wrist." - }, - "sleeveType.short": { - "t": "Short Sleeve", - "d": "Short sleeves, to the biceps." - }, - "snapPlacket": { - "t": "Snap Placket", - "d": "This option controls the depth of the placket that holds the snaps. " - } - } -} diff --git a/designs/otis/i18n/es.json b/designs/otis/i18n/es.json deleted file mode 100644 index 7dbaf3b1927..00000000000 --- a/designs/otis/i18n/es.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "t": "Otis", - "d": "A FreeSewing pattern for a romper", - "p": { - "back": "Back", - "front": "Front", - "shortsleeve": "Short sleeve", - "longsleeve": "Long sleeve", - "bindingNeckBack": "Neck back binding", - "bindingNeckFront": "Neck front binding", - "bindingLeg": "Leg binding" - }, - "s": { - "bindingNeckBack.t": "The Back Neck Binding is not shown", - "bindingNeckBack.d": "The **Back Neck Binding** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long.", - "bindingNeckFront.t": "The Front Neck Binding is not shown", - "bindingNeckFront.d": "The **Front Neck Binding** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long.", - "bindingLeg.t": "The Leg Binding is not shown", - "bindingLeg.d": "The **Leg Binding** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long." - }, - "o": { - "binding": { - "t": "Binding", - "d": "Binding determines the size of the binding for the neck and leg openings." - }, - "ease": { - "t": "Ease", - "d": "The ease is a percentage of the waist measurement. Default is 14%" - }, - "hem": { - "t": "Hem", - "d": "Hem determines the size of the hem on the sleeves." - }, - "sleeveType": { - "t": "Sleeve Type", - "d": "Otis can be made with short or long sleeves." - }, - "sleeveType.long": { - "t": "Long Sleeve", - "d": "Long sleeves, to the wrist." - }, - "sleeveType.short": { - "t": "Short Sleeve", - "d": "Short sleeves, to the biceps." - }, - "snapPlacket": { - "t": "Snap Placket", - "d": "This option controls the depth of the placket that holds the snaps. " - } - } -} diff --git a/designs/otis/i18n/fr.json b/designs/otis/i18n/fr.json deleted file mode 100644 index 7dbaf3b1927..00000000000 --- a/designs/otis/i18n/fr.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "t": "Otis", - "d": "A FreeSewing pattern for a romper", - "p": { - "back": "Back", - "front": "Front", - "shortsleeve": "Short sleeve", - "longsleeve": "Long sleeve", - "bindingNeckBack": "Neck back binding", - "bindingNeckFront": "Neck front binding", - "bindingLeg": "Leg binding" - }, - "s": { - "bindingNeckBack.t": "The Back Neck Binding is not shown", - "bindingNeckBack.d": "The **Back Neck Binding** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long.", - "bindingNeckFront.t": "The Front Neck Binding is not shown", - "bindingNeckFront.d": "The **Front Neck Binding** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long.", - "bindingLeg.t": "The Leg Binding is not shown", - "bindingLeg.d": "The **Leg Binding** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long." - }, - "o": { - "binding": { - "t": "Binding", - "d": "Binding determines the size of the binding for the neck and leg openings." - }, - "ease": { - "t": "Ease", - "d": "The ease is a percentage of the waist measurement. Default is 14%" - }, - "hem": { - "t": "Hem", - "d": "Hem determines the size of the hem on the sleeves." - }, - "sleeveType": { - "t": "Sleeve Type", - "d": "Otis can be made with short or long sleeves." - }, - "sleeveType.long": { - "t": "Long Sleeve", - "d": "Long sleeves, to the wrist." - }, - "sleeveType.short": { - "t": "Short Sleeve", - "d": "Short sleeves, to the biceps." - }, - "snapPlacket": { - "t": "Snap Placket", - "d": "This option controls the depth of the placket that holds the snaps. " - } - } -} diff --git a/designs/otis/i18n/index.mjs b/designs/otis/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/otis/i18n/index.mjs +++ b/designs/otis/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/otis/i18n/nl.json b/designs/otis/i18n/nl.json deleted file mode 100644 index 7dbaf3b1927..00000000000 --- a/designs/otis/i18n/nl.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "t": "Otis", - "d": "A FreeSewing pattern for a romper", - "p": { - "back": "Back", - "front": "Front", - "shortsleeve": "Short sleeve", - "longsleeve": "Long sleeve", - "bindingNeckBack": "Neck back binding", - "bindingNeckFront": "Neck front binding", - "bindingLeg": "Leg binding" - }, - "s": { - "bindingNeckBack.t": "The Back Neck Binding is not shown", - "bindingNeckBack.d": "The **Back Neck Binding** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long.", - "bindingNeckFront.t": "The Front Neck Binding is not shown", - "bindingNeckFront.d": "The **Front Neck Binding** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long.", - "bindingLeg.t": "The Leg Binding is not shown", - "bindingLeg.d": "The **Leg Binding** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long." - }, - "o": { - "binding": { - "t": "Binding", - "d": "Binding determines the size of the binding for the neck and leg openings." - }, - "ease": { - "t": "Ease", - "d": "The ease is a percentage of the waist measurement. Default is 14%" - }, - "hem": { - "t": "Hem", - "d": "Hem determines the size of the hem on the sleeves." - }, - "sleeveType": { - "t": "Sleeve Type", - "d": "Otis can be made with short or long sleeves." - }, - "sleeveType.long": { - "t": "Long Sleeve", - "d": "Long sleeves, to the wrist." - }, - "sleeveType.short": { - "t": "Short Sleeve", - "d": "Short sleeves, to the biceps." - }, - "snapPlacket": { - "t": "Snap Placket", - "d": "This option controls the depth of the placket that holds the snaps. " - } - } -} diff --git a/designs/otis/i18n/uk.json b/designs/otis/i18n/uk.json deleted file mode 100644 index 7dbaf3b1927..00000000000 --- a/designs/otis/i18n/uk.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "t": "Otis", - "d": "A FreeSewing pattern for a romper", - "p": { - "back": "Back", - "front": "Front", - "shortsleeve": "Short sleeve", - "longsleeve": "Long sleeve", - "bindingNeckBack": "Neck back binding", - "bindingNeckFront": "Neck front binding", - "bindingLeg": "Leg binding" - }, - "s": { - "bindingNeckBack.t": "The Back Neck Binding is not shown", - "bindingNeckBack.d": "The **Back Neck Binding** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long.", - "bindingNeckFront.t": "The Front Neck Binding is not shown", - "bindingNeckFront.d": "The **Front Neck Binding** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long.", - "bindingLeg.t": "The Leg Binding is not shown", - "bindingLeg.d": "The **Leg Binding** is a rectangular piece of fabric {{{ width }}} wide and {{{ length }}} long." - }, - "o": { - "binding": { - "t": "Binding", - "d": "Binding determines the size of the binding for the neck and leg openings." - }, - "ease": { - "t": "Ease", - "d": "The ease is a percentage of the waist measurement. Default is 14%" - }, - "hem": { - "t": "Hem", - "d": "Hem determines the size of the hem on the sleeves." - }, - "sleeveType": { - "t": "Sleeve Type", - "d": "Otis can be made with short or long sleeves." - }, - "sleeveType.long": { - "t": "Long Sleeve", - "d": "Long sleeves, to the wrist." - }, - "sleeveType.short": { - "t": "Short Sleeve", - "d": "Short sleeves, to the biceps." - }, - "snapPlacket": { - "t": "Snap Placket", - "d": "This option controls the depth of the placket that holds the snaps. " - } - } -} diff --git a/designs/otis/package.json b/designs/otis/package.json index 1638fb355f1..e9f40a53db6 100644 --- a/designs/otis/package.json +++ b/designs/otis/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/otis", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a baby romper", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/otis/src/index.mjs b/designs/otis/src/index.mjs index daf3165132c..85f7c11e8e3 100644 --- a/designs/otis/src/index.mjs +++ b/designs/otis/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' // Parts import { back } from './back.mjs' @@ -12,7 +12,7 @@ import { bindingLeg } from './bindingLeg.mjs' // Create new design const Otis = new Design({ - data, + data: about, parts: [back, front, shortsleeve, longsleeve, bindingNeckBack, bindingNeckFront, bindingLeg], }) @@ -27,4 +27,5 @@ export { bindingLeg, i18n, Otis, + about, } diff --git a/designs/otis/tests/shared.test.mjs b/designs/otis/tests/shared.test.mjs index 8f3426a6452..3c325928269 100644 --- a/designs/otis/tests/shared.test.mjs +++ b/designs/otis/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Otis, i18n } from '../src/index.mjs' +import { Otis, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Otis) +testPatternConfig(Otis, about) // Test translation testPatternI18n(Otis, i18n) diff --git a/designs/paco/README.md b/designs/paco/README.md index 0ca7f798695..c50cdbf3a38 100644 --- a/designs/paco/README.md +++ b/designs/paco/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:paco - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/paco @@ -59,7 +44,7 @@ A FreeSewing pattern for summer pants > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/paco/data.mjs b/designs/paco/data.mjs deleted file mode 100644 index 43a68d04e6f..00000000000 --- a/designs/paco/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/paco' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/paco/i18n/de.json b/designs/paco/i18n/de.json deleted file mode 100644 index 8795716de51..00000000000 --- a/designs/paco/i18n/de.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "t": "Paco, die Hose", - "d": "Paco ist eine lässige, aber stilvolle Sommerhose.", - "p": { - "back": "Back", - "backPocketBag": "Back pocket bag", - "backPocketWelt": "Back pocket welt", - "backPocketWeltInterfacing": "Bacl pocket welt interfacing", - "cuff": "Cuff", - "front": "Front", - "frontPocketBag": "Front pocket bag", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "heelEase": { - "t": "Bequemlichkeitszugabe Ferse", - "d": "Größe der Bequemlichkeitszugabe an der Ferse (wenn man in das Hosenbein hineinsteigt)" - }, - "frontPockets": { - "t": "Vordere Taschen", - "d": "Ob vordere Taschen an der Seitennaht hinzugefügt werden sollen oder nicht" - }, - "backPockets": { - "t": "Gesäßtaschen", - "d": "Hinzufügen einer Kedertasche zur Rückseite oder nicht" - }, - "elasticatedHem": { - "t": "Elastischer Saum", - "d": "Ob ein elastischer Saum gewünscht ist oder nicht" - }, - "ankleElastic": { - "t": "Knöchel/Saum Gummizugbreite", - "d": "Breite des (optionalen) Gummizugs am Knöchel/Saum" - } - } -} diff --git a/designs/paco/i18n/es.json b/designs/paco/i18n/es.json deleted file mode 100644 index 836139455a2..00000000000 --- a/designs/paco/i18n/es.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "t": "Paco, pantalones largos", - "d": "Paco son pantalones de verano casual pero con estilo.", - "p": { - "back": "Back", - "backPocketBag": "Back pocket bag", - "backPocketWelt": "Back pocket welt", - "backPocketWeltInterfacing": "Bacl pocket welt interfacing", - "cuff": "Cuff", - "front": "Front", - "frontPocketBag": "Front pocket bag", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "heelEase": { - "t": "Heel ease", - "d": "La cantidad de facilidad en tu talón (cuando pisas la pierna)" - }, - "frontPockets": { - "t": "Pockets delanteros", - "d": "Añadir o no bolsillos frontales en la costura lateral" - }, - "backPockets": { - "t": "Paquetes de retroceso", - "d": "Añadir o no bolsillos de soldadura a la espalda" - }, - "elasticatedHem": { - "t": "Hilo Elasticado", - "d": "Si desea o no un llavero elasticado" - }, - "ankleElastic": { - "t": "Anchura elástica Ancla/Hem", - "d": "Ancho de elástico (opcional) en el ancla/hem" - } - } -} diff --git a/designs/paco/i18n/fr.json b/designs/paco/i18n/fr.json deleted file mode 100644 index 881370b3b34..00000000000 --- a/designs/paco/i18n/fr.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "t": "Pantalon Paco", - "d": "Paco est un pantalon d'été décontracté mais élégant.", - "p": { - "back": "Back", - "backPocketBag": "Back pocket bag", - "backPocketWelt": "Back pocket welt", - "backPocketWeltInterfacing": "Bacl pocket welt interfacing", - "cuff": "Cuff", - "front": "Front", - "frontPocketBag": "Front pocket bag", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "heelEase": { - "t": "Aisance de talon", - "d": "La quantité d'aisance à votre talon (au passage la jambe de pantalon)" - }, - "frontPockets": { - "t": "Poches avant", - "d": "Si oui ou non ajouter des poches avant sur la couture latérale" - }, - "backPockets": { - "t": "Poches arrière", - "d": "Si oui ou non ajouter des poches à l'arrière" - }, - "elasticatedHem": { - "t": "Ourlet élastiqué", - "d": "Si vous voulez ou non un ourlet élastiqué" - }, - "ankleElastic": { - "t": "Largeur élastique de cheville/ourlet", - "d": "Largeur de l'élastique (optionnel) à la cheville/ourlet" - } - } -} diff --git a/designs/paco/i18n/index.mjs b/designs/paco/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/paco/i18n/index.mjs +++ b/designs/paco/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/paco/i18n/nl.json b/designs/paco/i18n/nl.json deleted file mode 100644 index 3ca5795f959..00000000000 --- a/designs/paco/i18n/nl.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "t": "Paco broek", - "d": "Paco is een casual maar stijlvolle zomerbroek.", - "p": { - "back": "Back", - "backPocketBag": "Back pocket bag", - "backPocketWelt": "Back pocket welt", - "backPocketWeltInterfacing": "Bacl pocket welt interfacing", - "cuff": "Cuff", - "front": "Front", - "frontPocketBag": "Front pocket bag", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "heelEase": { - "t": "Overwijdte hiel", - "d": "De hoeveelheid overwijdte aan de hiel (wanneer je je been door de broekspijp steekt)" - }, - "frontPockets": { - "t": "Voorzakken", - "d": "Of je al dan niet zakken in de zijnaad wil" - }, - "backPockets": { - "t": "Achterzakken", - "d": "Of je al dan niet paspelzakken op de achterkant wil" - }, - "elasticatedHem": { - "t": "Elastische zoom", - "d": "Of je wel of niet elastiek aan de zoom wil" - }, - "ankleElastic": { - "t": "Breedte enkel/zoom elastiek", - "d": "Breedte van de (optionele) elastiek aan de enkel/zoom" - } - } -} diff --git a/designs/paco/i18n/uk.json b/designs/paco/i18n/uk.json deleted file mode 100644 index 04ccfe73cc3..00000000000 --- a/designs/paco/i18n/uk.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "t": "Paco pants", - "d": "Paco are casual yet stylish summer pants.", - "p": { - "back": "Back", - "backPocketBag": "Back pocket bag", - "backPocketWelt": "Back pocket welt", - "backPocketWeltInterfacing": "Bacl pocket welt interfacing", - "cuff": "Cuff", - "front": "Front", - "frontPocketBag": "Front pocket bag", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "heelEase": { - "t": "Heel ease", - "d": "The amount of ease at your heel (when stepping into the leg)" - }, - "frontPockets": { - "t": "Front pockets", - "d": "Whether or not to add front pockets on the side seam" - }, - "frontPocketFlapSize": { - "t": "Front pocket flap size", - "d": "This option controls the front pocket flap size, but it is not exposed to the UI" - }, - "backPockets": { - "t": "Back pockets", - "d": "Whether or not to add welt pockets to the back" - }, - "elasticatedHem": { - "t": "Elasticated hem", - "d": "Whether or not you want an elasticated hem" - }, - "ankleElastic": { - "t": "Ankle/Hem elastic width", - "d": "Width of the (optional) elastic at the ankle/hem" - } - } -} diff --git a/designs/paco/package.json b/designs/paco/package.json index 6d9f0e8fc9a..a7c963b687b 100644 --- a/designs/paco/package.json +++ b/designs/paco/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/paco", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for summer pants", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,50 +25,41 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/titan": "3.3.0-rc.1", - "@freesewing/snapseries": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/titan": "4.0.0", + "@freesewing/snapseries": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/paco/src/back.mjs b/designs/paco/src/back.mjs index 0c4bb980ec0..c65d9453aa8 100644 --- a/designs/paco/src/back.mjs +++ b/designs/paco/src/back.mjs @@ -358,8 +358,8 @@ export const back = { // Disable this option from Titan waistbandHeight: 0, // Fit - waistEase: { pct: 2, min: 0, max: 10, menu: 'fit' }, - seatEase: { pct: 5, min: 0, max: 15, menu: 'fit' }, + waistEase: { pct: 2, min: 0, max: 10, ...pctBasedOn('waist'), menu: 'fit' }, + seatEase: { pct: 5, min: 0, max: 15, ...pctBasedOn('seat'), menu: 'fit' }, // Style waistHeight: { pct: 5, min: 0, max: 100, menu: 'style' }, lengthBonus: { pct: 0, min: -15, max: 10, menu: 'style' }, @@ -382,7 +382,7 @@ export const back = { ...pctBasedOn('waistToFloor'), menu: 'elastic', }, - heelEase: { pct: 5, min: 0, max: 50, menu: 'elastic' }, + heelEase: { pct: 5, min: 0, max: 50, ...pctBasedOn('heel'), menu: 'elastic' }, // Pockets frontPockets: { bool: true, menu: 'pockets' }, backPockets: { bool: false, menu: 'pockets' }, diff --git a/designs/paco/src/index.mjs b/designs/paco/src/index.mjs index a0064129ba0..225ac76cf85 100644 --- a/designs/paco/src/index.mjs +++ b/designs/paco/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as titanI18n } from '@freesewing/titan' import { i18n as pacoI18n } from '../i18n/index.mjs' import { back } from './back.mjs' @@ -13,7 +13,7 @@ import { waistband } from './waistband.mjs' // Setup our new design const Paco = new Design({ - data, + data: about, parts: [ back, front, @@ -41,4 +41,5 @@ export { waistband, Paco, i18n, + about, } diff --git a/designs/paco/tests/shared.test.mjs b/designs/paco/tests/shared.test.mjs index 5d8139e78d3..52e8d0b6fdc 100644 --- a/designs/paco/tests/shared.test.mjs +++ b/designs/paco/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Paco, i18n } from '../src/index.mjs' +import { Paco, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Paco) +testPatternConfig(Paco, about) // Test translation testPatternI18n(Paco, i18n) diff --git a/designs/penelope/README.md b/designs/penelope/README.md index 29d2e1f0a96..49561419260 100644 --- a/designs/penelope/README.md +++ b/designs/penelope/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:penelope - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/penelope @@ -59,7 +44,7 @@ A FreeSewing pattern for a pencil skirt > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/penelope/data.mjs b/designs/penelope/data.mjs deleted file mode 100644 index 5d79bd75b70..00000000000 --- a/designs/penelope/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/penelope' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/penelope/i18n/de.json b/designs/penelope/i18n/de.json deleted file mode 100644 index 431cd42320d..00000000000 --- a/designs/penelope/i18n/de.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "t": "Penelope, der Bleistiftrock", - "d": "Penelope ist ein Bleistiftrock mit oder ohne Gehschlitz in rückwärtigen Teil.", - "p": { - "back": "Rückseite", - "front": "Vorderseite", - "waistband": "Bund" - }, - "s": {}, - "o": { - "backDartDepthFactor": { - "t": "Zurück zum Abnäherinhalttiefenfaktor", - "d": "Wie weit der rückwärtige Abnäher vom Taillenbund nach unten geht. Dies ist ein Faktor des Abstandes von der natürlichen Taille bis zum Gesäßumfang." - }, - "backVent": { - "t": "Hinterlüftung", - "d": "Fügt einen Bewegungschlitz hinten am Rock hinzu." - }, - "backVentLength": { - "t": "Rückenlüftungslänge", - "d": "Die Länge des Bewegungschlitzes hinten als ein Prozentsatz der Gesamtrocklänge." - }, - "curvedDarts": { - "t": "Curved darts", - "d": "Whether or not to used curved darts." - }, - "dartToSideSeamFactor": { - "t": "Abnäher zu Seitennaht Faktor", - "d": "Prozentuales Verhältnis wieviel der Reduktion von der Hüftweite zur Taille über die Abnäher und wieviel über die Seitennäht erzielt wurde." - }, - "frontDartDepthFactor": { - "t": "Vorderer Abnäherinhälttiefenfaktor", - "d": "Wie weit nach unten der vordere Abnäher von der Taillenlinie geht. Dies ist ein Faktor des Maßes von der natürlichen Taille zum Gesäßumfang." - }, - "hem": { - "t": "Höhe des Saumes", - "d": "Breite des Saumes. Maß in absoluten Werten angeben." - }, - "hemBonus": { - "t": "Saumzugabe", - "d": "Diese Option reduziert die Saumweite. Sie ist ein prozentualer Anteil des Gesäßumfangs." - }, - "lengthBonus": { - "t": "Längenbonus", - "d": "Dies legt Länge des Rockes fest. Es ist einem Prozentsatz des Abstands natürliche Taille zu Knie definiert." - }, - "nrOfDarts": { - "t": "Anzahl Abnäher", - "d": "Die Anzahl der Abnäher, die in dem Schnittmuster verwendet werden. Das Maximum ist 2. Dies kann reduziert werden, wenn das Schnittmuster zu kleine Abnäher erstellt." - }, - "seatEase": { - "t": "Zugabe Gesäß", - "d": "Zugegebene Weite auf Höhe des Gesäßs." - }, - "waistBand": { - "t": "Taillenbund", - "d": "Füge einen Taillenbund zum Schnittmuster hinzu." - }, - "waistBandWidth": { - "t": "Breite des Taillenbundes", - "d": "Die Breite des Taillenbundes." - }, - "waistEase": { - "t": "Taille erleichtert", - "d": "Zugegebene Weite auf Taillenhöhe." - }, - "zipperLocation": { - "t": "Platzierung Reißverschluss", - "d": "Platzierung des Reißverschlusses." - } - } -} diff --git a/designs/penelope/i18n/es.json b/designs/penelope/i18n/es.json deleted file mode 100644 index a9d247808b2..00000000000 --- a/designs/penelope/i18n/es.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "t": "Penelope, falda de tubo", - "d": "Penelope es una falda de tubo una gorra de lápiz con o sin apertura en la parte de atrás.", - "p": { - "back": "Atrás", - "front": "Frente", - "waistband": "Pretina" - }, - "s": {}, - "o": { - "backDartDepthFactor": { - "t": "Factor de la pinza trasera", - "d": "Hasta dónde llega la pinza trasera desde la cintura. Es proporción de la medida cintura natural a asiento." - }, - "backVent": { - "t": "Ventilación posterior", - "d": "Añade una avertura en la parte trasera de la falda." - }, - "backVentLength": { - "t": "Longitud de ventilación posterior", - "d": "Longitud de la abertura trasera como porcentaje de la longitud de la falda." - }, - "curvedDarts": { - "t": "Curved darts", - "d": "Whether or not to used curved darts." - }, - "dartToSideSeamFactor": { - "t": "Factor pinza a costura lateral", - "d": "Porcentaje de cuánta de la reducción de cadera a cintura se toma de las pinzas con respecto a las costuras laterales." - }, - "frontDartDepthFactor": { - "t": "Factor de la pinza delantera", - "d": "Hasta dónde llega la pinza delantera desde la cintura. Es proporción de la medida cintura natural a asiento." - }, - "hem": { - "t": "Anchura del dobladillo", - "d": "El tamaño del dobladillo. Medida en valores absolutos." - }, - "hemBonus": { - "t": "Bonus del dobladillo", - "d": "Esta opción reduce la circunferencia de la falda en el dobladillo. Porcentaje de la medida de asiento." - }, - "lengthBonus": { - "t": "Extra de longitud", - "d": "Esto ajusta la longitud de la falda. Porcentaje de la medida de cintura natural a rodilla." - }, - "nrOfDarts": { - "t": "Número de pinzas", - "d": "El número de pinzas usadas en el patrón. El máximo es 2. Esta opción puede ser reducida por el patrón si los cálculos crean pinzas demasiado pequeñas." - }, - "seatEase": { - "t": "Facilidad de asiento", - "d": "La holgura al nivel del asiento." - }, - "waistBand": { - "t": "Cinturilla", - "d": "Añade una cinturilla al patrón." - }, - "waistBandWidth": { - "t": "Anchura de la cinturilla", - "d": "La anchura de la cinturilla." - }, - "waistEase": { - "t": "Holgura de cintura", - "d": "La holgura al nivel de la cintura." - }, - "zipperLocation": { - "t": "Ubicación de la cremallera", - "d": "La ubicación de la cremallera." - } - } -} diff --git a/designs/penelope/i18n/fr.json b/designs/penelope/i18n/fr.json deleted file mode 100644 index 4f40d635f93..00000000000 --- a/designs/penelope/i18n/fr.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "t": "Jupe crayon Penelope", - "d": "Penelope est une jupe crayon avec ou sans fente dans le dos.", - "p": { - "back": "Retour", - "front": "Avant", - "waistband": "Ceinture" - }, - "s": {}, - "o": { - "backDartDepthFactor": { - "t": "Profondeur de la pince dos", - "d": "Jusqu'où va la pince arrière depuis la ceinture, facteur de la mensuration \"Hauteur taille bassin\"." - }, - "backVent": { - "t": "Fentes arrière", - "d": "Ajouter une fente au dos de la jupe." - }, - "backVentLength": { - "t": "Longueur de fente arrière", - "d": "Longueur de la fente dos par rapport à la longueur de la jupe." - }, - "curvedDarts": { - "t": "Curved darts", - "d": "Whether or not to used curved darts." - }, - "dartToSideSeamFactor": { - "t": "Pince de côté", - "d": "Pourcentage de la part de la réduction de la hanche à la taille par rapport à la couture latérale." - }, - "frontDartDepthFactor": { - "t": "Profondeur de la pince avant", - "d": "Jusqu'où va la pince avant depuis la ceinture, facteur de la mensuration \"Hauteur taille bassin\"." - }, - "hem": { - "t": "Taille de l'ourlet", - "d": "La taille de l'ourlet. Mesure en valeurs absolues." - }, - "hemBonus": { - "t": "Bonus d'ourlet", - "d": "Cette option réduira la circonférence de la jupe à l'ourlet. Pourcentage de la mesure de l'assise." - }, - "lengthBonus": { - "t": "Supplément de longueur", - "d": "Ceci définit la longueur de la jupe. Pourcentage de la mensuration \"Hauteur taille genou\"." - }, - "nrOfDarts": { - "t": "Nombre de pinces", - "d": "Le nombre de pinces utilisées dans le patron. Maximum de 2. Cette option peut être réduite par le patron si les calculs créent des pinces trop petites." - }, - "seatEase": { - "t": "Aisance d'assise", - "d": "Quantité d'aisance au niveau de l'assise." - }, - "waistBand": { - "t": "Ceinture", - "d": "Ajouter une ceinture au patron." - }, - "waistBandWidth": { - "t": "Largeur de ceinture", - "d": "La largeur de la ceinture." - }, - "waistEase": { - "t": "Aisance à la taille", - "d": "Quantité d'aisance au niveau de la taille." - }, - "zipperLocation": { - "t": "Emplacement du Zip", - "d": "L'emplacement du zip (fermeture éclair)." - } - } -} diff --git a/designs/penelope/i18n/index.mjs b/designs/penelope/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/penelope/i18n/index.mjs +++ b/designs/penelope/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/penelope/i18n/nl.json b/designs/penelope/i18n/nl.json deleted file mode 100644 index c49edb25c42..00000000000 --- a/designs/penelope/i18n/nl.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "t": "Penelope pencil skirt", - "d": "Penelope is een smalle rok, met of zonder split achteraan.", - "p": { - "back": "Achterzijde", - "front": "Voorzijde", - "waistband": "Tailleband" - }, - "s": {}, - "o": { - "backDartDepthFactor": { - "t": "Factor lengte neep rug", - "d": "Hoe ver de neep achteraan naar beneden komt vanaf de tailleband. Dit is een factor van de Natuurlijke Taille Tot Zitvlak-maat." - }, - "backVent": { - "t": "Vent achteraan", - "d": "Voeg een split toe aan de achterkant van de rok." - }, - "backVentLength": { - "t": "Lengte vent achteraan", - "d": "Lengte van het loopsplit als een percentage van de lengte van de rok." - }, - "curvedDarts": { - "t": "Curved darts", - "d": "Whether or not to used curved darts." - }, - "dartToSideSeamFactor": { - "t": "Factor neep tot zijnaad", - "d": "Hoeveel van de reductie van heupen naar taille door de nepen ingenomen wordt, tegenover de zijnaad, uitgedrukt in een percentage." - }, - "frontDartDepthFactor": { - "t": "Factor lengte neep vooraan", - "d": "Hoe ver de neep vooraan naar beneden komt vanaf de tailleband. Dit is een factor van de Natuurlijke Taille Tot Zitvlak-maat." - }, - "hem": { - "t": "Afmeting van de zoom", - "d": "De afmeting van de zoom. Een maat in absolute waarden." - }, - "hemBonus": { - "t": "Bonus zoom", - "d": "Deze optie maakt de omtrek van de rok aan de zoom kleiner. Percentage van de Omtrek Zitvlak-maat." - }, - "lengthBonus": { - "t": "Lengtebonus", - "d": "Dit bepaalt de lengte van de rok. Een percentage van de Taille tot Knie-maat." - }, - "nrOfDarts": { - "t": "Aantal nepen", - "d": "Het aantal nepen in het patroon. Het maximum is 2. Deze optie kan aangepast worden door het patroon als de berekeningen te kleine nepen als resultaat hebben." - }, - "seatEase": { - "t": "Overwijdte zitvlak", - "d": "Hoeveelheid overwijdte aan het zitvlak." - }, - "waistBand": { - "t": "Tailleband", - "d": "Voeg een tailleband toe aan het patroon." - }, - "waistBandWidth": { - "t": "Breedte tailleband", - "d": "De breedte van de tailleband." - }, - "waistEase": { - "t": "Overwijdte taille", - "d": "Hoeveelheid overwijdte aan de taille." - }, - "zipperLocation": { - "t": "Locatie rits", - "d": "De locatie van de rits." - } - } -} diff --git a/designs/penelope/i18n/uk.json b/designs/penelope/i18n/uk.json deleted file mode 100644 index 7ebf990ef59..00000000000 --- a/designs/penelope/i18n/uk.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "t": "Penelope pencil skirt", - "d": "Penelope is a pencil skirt with or without a vent in the back.", - "p": { - "back": "Back", - "front": "Front", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "backDartDepthFactor": { - "t": "Back dart depth factor", - "d": "How far down does the back dart go from the waistband. This is a factor of the Natural Waist To Seat measurement." - }, - "backVent": { - "t": "Back vent", - "d": "Add a vent in the back of the skirt." - }, - "backVentLength": { - "t": "Back vent length", - "d": "Length of the Back Vent as a percentage of the skirt length." - }, - "curvedDarts": { - "t": "Curved darts", - "d": "Whether or not to used curved darts." - }, - "dartToSideSeamFactor": { - "t": "Dart to side seam factor", - "d": "Percentage of how much of the hip to waist reduction has to be taken in by the darts versus the side seam." - }, - "frontDartDepthFactor": { - "t": "Front dart depth factor", - "d": "How far down does the front dart go from the waistband. This is a factor of the Natural Waist To Seat measurement." - }, - "hem": { - "t": "Size of the hem", - "d": "The size of the hem. Measurement in absolute values." - }, - "hemBonus": { - "t": "Hem bonus", - "d": "This option will reduce the circumference of the skirt at the hem. Percentage of the Seat measurement." - }, - "lengthBonus": { - "t": "Length bonus", - "d": "This sets the length of the skirt. Percentage of the Natural Waist to Knee measurement." - }, - "nrOfDarts": { - "t": "Number of darts", - "d": "The number of darts used in the pattern. Maximum is 2. This option can be reduced by the pattern if the calculations create darts that are too small." - }, - "seatEase": { - "t": "Seat ease", - "d": "Amount of ease at the seat level." - }, - "waistBand": { - "t": "Waist band", - "d": "Add a waistband to the pattern." - }, - "waistBandWidth": { - "t": "Waist band width", - "d": "The width of the waist band." - }, - "waistEase": { - "t": "Waist ease", - "d": "Amount of ease at the waist level." - }, - "zipperLocation": { - "t": "Zipper location", - "d": "The location of the zipper." - } - } -} diff --git a/designs/penelope/package.json b/designs/penelope/package.json index e9b9589f2bf..69da5eac38a 100644 --- a/designs/penelope/package.json +++ b/designs/penelope/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/penelope", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a pencil skirt", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/penelope/src/index.mjs b/designs/penelope/src/index.mjs index c15f98bd542..663a20eb3ba 100644 --- a/designs/penelope/src/index.mjs +++ b/designs/penelope/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { back } from './back.mjs' import { front } from './front.mjs' @@ -7,9 +7,9 @@ import { waistband } from './waistband.mjs' // Setup our new design const Penelope = new Design({ - data, + data: about, parts: [back, front, waistband], }) // Named exports -export { back, front, waistband, Penelope, i18n } +export { back, front, waistband, Penelope, i18n, about } diff --git a/designs/penelope/tests/shared.test.mjs b/designs/penelope/tests/shared.test.mjs index 11f624954d7..5780ca171e8 100644 --- a/designs/penelope/tests/shared.test.mjs +++ b/designs/penelope/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Penelope, i18n } from '../src/index.mjs' +import { Penelope, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Penelope) +testPatternConfig(Penelope, about) // Test translation testPatternI18n(Penelope, i18n) diff --git a/designs/plugintest/README.md b/designs/plugintest/README.md index b3c1a260d81..595ee95570a 100644 --- a/designs/plugintest/README.md +++ b/designs/plugintest/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:plugintest - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/plugintest @@ -59,7 +44,7 @@ A FreeSewing pattern to test (y)our plugins > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/plugintest/data.mjs b/designs/plugintest/data.mjs deleted file mode 100644 index a9482572b24..00000000000 --- a/designs/plugintest/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/plugintest' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/plugintest/i18n/de.json b/designs/plugintest/i18n/de.json deleted file mode 100644 index 68f89a53ad9..00000000000 --- a/designs/plugintest/i18n/de.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Plugin Test", - "d": "A FreeSewing pattern to test our various plugins", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/plugintest/i18n/es.json b/designs/plugintest/i18n/es.json deleted file mode 100644 index 68f89a53ad9..00000000000 --- a/designs/plugintest/i18n/es.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Plugin Test", - "d": "A FreeSewing pattern to test our various plugins", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/plugintest/i18n/fr.json b/designs/plugintest/i18n/fr.json deleted file mode 100644 index 68f89a53ad9..00000000000 --- a/designs/plugintest/i18n/fr.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Plugin Test", - "d": "A FreeSewing pattern to test our various plugins", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/plugintest/i18n/index.mjs b/designs/plugintest/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/plugintest/i18n/index.mjs +++ b/designs/plugintest/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/plugintest/i18n/nl.json b/designs/plugintest/i18n/nl.json deleted file mode 100644 index 68f89a53ad9..00000000000 --- a/designs/plugintest/i18n/nl.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Plugin Test", - "d": "A FreeSewing pattern to test our various plugins", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/plugintest/i18n/uk.json b/designs/plugintest/i18n/uk.json deleted file mode 100644 index 68f89a53ad9..00000000000 --- a/designs/plugintest/i18n/uk.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Plugin Test", - "d": "A FreeSewing pattern to test our various plugins", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/plugintest/package.json b/designs/plugintest/package.json index b93550da5f5..18e22ecf257 100644 --- a/designs/plugintest/package.json +++ b/designs/plugintest/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/plugintest", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern to test (y)our plugins", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,59 +25,50 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/plugin-annotations": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1", - "@freesewing/plugin-flip": "3.3.0-rc.1", - "@freesewing/plugin-gore": "3.3.0-rc.1", - "@freesewing/plugin-i18n": "3.3.0-rc.1", - "@freesewing/plugin-measurements": "3.3.0-rc.1", - "@freesewing/plugin-mirror": "3.3.0-rc.1", - "@freesewing/plugin-round": "3.3.0-rc.1", - "@freesewing/plugin-sprinkle": "3.3.0-rc.1", - "@freesewing/plugin-svgattr": "3.3.0-rc.1", - "@freesewing/plugin-theme": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/plugin-annotations": "4.0.0", + "@freesewing/plugin-bust": "4.0.0", + "@freesewing/plugin-flip": "4.0.0", + "@freesewing/plugin-gore": "4.0.0", + "@freesewing/plugin-i18n": "4.0.0", + "@freesewing/plugin-measurements": "4.0.0", + "@freesewing/plugin-mirror": "4.0.0", + "@freesewing/plugin-round": "4.0.0", + "@freesewing/plugin-sprinkle": "4.0.0", + "@freesewing/plugin-svgattr": "4.0.0", + "@freesewing/plugin-theme": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/plugintest/src/index.mjs b/designs/plugintest/src/index.mjs index b6f9f731ee8..5bd63c7434c 100644 --- a/designs/plugintest/src/index.mjs +++ b/designs/plugintest/src/index.mjs @@ -1,5 +1,4 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' import { i18n } from '../i18n/index.mjs' import { annotations } from './plugin-annotations.mjs' import { flip } from './plugin-flip.mjs' @@ -13,7 +12,6 @@ import { ringsector } from './plugin-ringsector.mjs' // Setup our new design const Plugintest = new Design({ - data, parts: [annotations, flip, gore, i18nStack, measurements, mirror, round, sprinkle, ringsector], }) diff --git a/designs/plugintest/tests/shared.test.mjs b/designs/plugintest/tests/shared.test.mjs index 9270466593d..36713078f28 100644 --- a/designs/plugintest/tests/shared.test.mjs +++ b/designs/plugintest/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Plugintest, i18n } from '../src/index.mjs' +import { Plugintest, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Plugintest) +testPatternConfig(Plugintest, about) // Test translation testPatternI18n(Plugintest, i18n) diff --git a/designs/rendertest/README.md b/designs/rendertest/README.md index 428eaffe418..3097c602669 100644 --- a/designs/rendertest/README.md +++ b/designs/rendertest/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:rendertest - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/rendertest @@ -59,7 +44,7 @@ A FreeSewing pattern to test (y)our render engine our CSS > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/rendertest/data.mjs b/designs/rendertest/data.mjs deleted file mode 100644 index 263c6f6aa69..00000000000 --- a/designs/rendertest/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/rendertest' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/rendertest/i18n/de.json b/designs/rendertest/i18n/de.json deleted file mode 100644 index c5a90b5afd8..00000000000 --- a/designs/rendertest/i18n/de.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Render Test", - "d": "A FreeSewing pattern to showcase how various elements are rendered/themed", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/rendertest/i18n/es.json b/designs/rendertest/i18n/es.json deleted file mode 100644 index c5a90b5afd8..00000000000 --- a/designs/rendertest/i18n/es.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Render Test", - "d": "A FreeSewing pattern to showcase how various elements are rendered/themed", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/rendertest/i18n/fr.json b/designs/rendertest/i18n/fr.json deleted file mode 100644 index c5a90b5afd8..00000000000 --- a/designs/rendertest/i18n/fr.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Render Test", - "d": "A FreeSewing pattern to showcase how various elements are rendered/themed", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/rendertest/i18n/index.mjs b/designs/rendertest/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/rendertest/i18n/index.mjs +++ b/designs/rendertest/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/rendertest/i18n/nl.json b/designs/rendertest/i18n/nl.json deleted file mode 100644 index c5a90b5afd8..00000000000 --- a/designs/rendertest/i18n/nl.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Render Test", - "d": "A FreeSewing pattern to showcase how various elements are rendered/themed", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/rendertest/i18n/uk.json b/designs/rendertest/i18n/uk.json deleted file mode 100644 index c5a90b5afd8..00000000000 --- a/designs/rendertest/i18n/uk.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "t": "Render Test", - "d": "A FreeSewing pattern to showcase how various elements are rendered/themed", - "p": {}, - "s": {}, - "o": {} -} diff --git a/designs/rendertest/package.json b/designs/rendertest/package.json index f039e90b6ce..d446acaf963 100644 --- a/designs/rendertest/package.json +++ b/designs/rendertest/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/rendertest", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern to test (y)our render engine our CSS", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/rendertest/src/index.mjs b/designs/rendertest/src/index.mjs index 341c17d3334..e2e5d8eb8a6 100644 --- a/designs/rendertest/src/index.mjs +++ b/designs/rendertest/src/index.mjs @@ -1,11 +1,9 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' import { i18n } from '../i18n/index.mjs' import { demo } from './demo.mjs' // Setup our new design const Rendertest = new Design({ - data, parts: [demo], }) diff --git a/designs/rendertest/tests/shared.test.mjs b/designs/rendertest/tests/shared.test.mjs index 40441170cd3..1d596c109ac 100644 --- a/designs/rendertest/tests/shared.test.mjs +++ b/designs/rendertest/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Rendertest, i18n } from '../src/index.mjs' +import { Rendertest, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Rendertest) +testPatternConfig(Rendertest, about) // Test translation testPatternI18n(Rendertest, i18n) diff --git a/designs/sandy/README.md b/designs/sandy/README.md index 4292f432c4c..b9f4c203333 100644 --- a/designs/sandy/README.md +++ b/designs/sandy/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:sandy - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/sandy @@ -59,7 +44,7 @@ A FreeSewing pattern for a circle skirt > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/sandy/data.mjs b/designs/sandy/data.mjs deleted file mode 100644 index 4709206f46e..00000000000 --- a/designs/sandy/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/sandy' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/sandy/i18n/de.json b/designs/sandy/i18n/de.json deleted file mode 100644 index 7805028bc50..00000000000 --- a/designs/sandy/i18n/de.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "t": "Sandy, der Tellerrock", - "d": "Sandy ist ein anpassungsfähiges Tellerrockschnittmuster.", - "p": { - "skirt": "Skirt", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "waistbandWidth": { - "t": "Taillenbundweite", - "d": "Kontrolliert die Weite des Taillenbundes." - }, - "waistbandPosition": { - "t": "Position des Taillenbundes", - "d": "Legt die Position des Taillenbundes fest." - }, - "waistbandShape": { - "t": "Taillenbundform", - "d": "Hier stellen Sie ein, on sie einen geraden oder einen körpergeformten Bund wollen." - }, - "circleRatio": { - "t": "Kreisverhältnis", - "d": "Die Prozente eines Kreises aus dem Sie den Rock erstellen möchten." - }, - "waistbandOverlap": { - "t": "Überlappung des Taillenbundes", - "d": "Der Betrag, mit dem sich der Taillenbund überlappt." - }, - "gathering": { - "t": "Kräuseln", - "d": "Der Prozentsatz um welcher die Oberkante des Rockteils länger ist als die Unterkante des Bundes." - }, - "lengthBonus": { - "t": "Length bonus", - "d": "Determines how long the skirt will be." - }, - "seamlessFullCircle": { - "t": "Nahtloser Vollkreis", - "d": "Aktiviert einen nahtlosen Vollkreis für das Rockteil." - }, - "hemWidth": { - "t": "Saumbreite", - "d": "Breite des Saumes" - }, - "panels": { - "t": "Panels", - "d": "Number of panels" - } - } -} diff --git a/designs/sandy/i18n/es.json b/designs/sandy/i18n/es.json deleted file mode 100644 index 6eeea28b061..00000000000 --- a/designs/sandy/i18n/es.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "t": "Sandy, falda de vuelo", - "d": "Sandy es un patrón de falda de vuelo circular adaptable.", - "p": { - "skirt": "Skirt", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "waistbandWidth": { - "t": "Anchura de la cinturilla", - "d": "Controla la anchura de la cinturilla." - }, - "waistbandPosition": { - "t": "Posición de la cinturilla", - "d": "Controla la posición de la cinturilla." - }, - "waistbandShape": { - "t": "Forma de la cinturilla", - "d": "Si quieres una cinturilla recta o curvada." - }, - "circleRatio": { - "t": "Porcentaje de círculo", - "d": "El porcentaje de círculo que quieres que tenga la falda." - }, - "waistbandOverlap": { - "t": "Superposición de la cinturilla", - "d": "La cantidad en la que los extremos de la cinturilla se superponen." - }, - "gathering": { - "t": "Fruncido", - "d": "El porcentaje por el que la parte superior de la falda es más largo que la parte inferior de la cinturilla." - }, - "lengthBonus": { - "t": "Length bonus", - "d": "Determines how long the skirt will be." - }, - "seamlessFullCircle": { - "t": "Círculo completo sin costura", - "d": "Permite una falda de círculo completo sin costuras." - }, - "hemWidth": { - "t": "Hem width", - "d": "Anchura del dobladillo" - }, - "panels": { - "t": "Panels", - "d": "Number of panels" - } - } -} diff --git a/designs/sandy/i18n/fr.json b/designs/sandy/i18n/fr.json deleted file mode 100644 index 17b44b65e62..00000000000 --- a/designs/sandy/i18n/fr.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "t": "Jupe cercle Sandy", - "d": "Sandy est un patron de jupe cercle adaptable.", - "p": { - "skirt": "Skirt", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "waistbandWidth": { - "t": "Largeur de ceinture", - "d": "Contrôle la largeur de la ceinture." - }, - "waistbandPosition": { - "t": "Position de ceinture", - "d": "Contrôle la position de la ceinture." - }, - "waistbandShape": { - "t": "Forme de ceinture", - "d": "Si vous voulez une ceinture droite ou bien de forme particulière." - }, - "circleRatio": { - "t": "Ratio circulaire", - "d": "Le pourcentage d'un cercle auquel vous souhaitez que la jupe corresponde." - }, - "waistbandOverlap": { - "t": "Chevauchement de la ceinture", - "d": "Le montant par lequel la taille se chevauche." - }, - "gathering": { - "t": "Fronçage", - "d": "Le pourcent par lequel le tissu du haut de la jupe est plus long que celui du bas de la ceinture." - }, - "lengthBonus": { - "t": "Length bonus", - "d": "Determines how long the skirt will be." - }, - "seamlessFullCircle": { - "t": "Cercle entier sans couture", - "d": "Permet une jupe totalement circulaire sans couture." - }, - "hemWidth": { - "t": "Hem width", - "d": "Largeur de l'ourlet" - }, - "panels": { - "t": "Panels", - "d": "Number of panels" - } - } -} diff --git a/designs/sandy/i18n/index.mjs b/designs/sandy/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/sandy/i18n/index.mjs +++ b/designs/sandy/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/sandy/i18n/nl.json b/designs/sandy/i18n/nl.json deleted file mode 100644 index 540fd19c25f..00000000000 --- a/designs/sandy/i18n/nl.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "t": "Sandy cirkelrok", - "d": "Sandy is een veelzijdig patroon voor een cirkelrok.", - "p": { - "skirt": "Skirt", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "waistbandWidth": { - "t": "Breedte tailleband", - "d": "De breedte van de tailleband." - }, - "waistbandPosition": { - "t": "Positie tailleband", - "d": "Bepaalt de positie van de tailleband." - }, - "waistbandShape": { - "t": "Vorm tailleband", - "d": "Wil je een rechte of gebogen tailleband?" - }, - "circleRatio": { - "t": "Cirkel ratio", - "d": "Hoeveel procent van een cirkel wil je dat de rok is?" - }, - "waistbandOverlap": { - "t": "Overlap Tailleband", - "d": "Hoeveel de tailleband overlapt." - }, - "gathering": { - "t": "Fronsen", - "d": "Met hoeveel procent de bovenrand van de rok langer is dan de onderrand van de tailleband." - }, - "lengthBonus": { - "t": "Length bonus", - "d": "Determines how long the skirt will be." - }, - "seamlessFullCircle": { - "t": "Naadloze volledige cirkel", - "d": "Maakt een naadloze volle cirkelrok mogelijk." - }, - "hemWidth": { - "t": "Breedte zoom", - "d": "Breedte van de zoom" - }, - "panels": { - "t": "Panels", - "d": "Number of panels" - } - } -} diff --git a/designs/sandy/i18n/uk.json b/designs/sandy/i18n/uk.json deleted file mode 100644 index 5159894d495..00000000000 --- a/designs/sandy/i18n/uk.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "t": "Sandy circle skirt", - "d": "Sandy is an adaptable circle skirt pattern.", - "p": { - "skirt": "Skirt", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "waistbandWidth": { - "t": "Waistband width", - "d": "Controls the width of the waistband." - }, - "waistbandPosition": { - "t": "Waistband position", - "d": "Controls the position of the waistband." - }, - "waistbandShape": { - "t": "Waistband shape", - "d": "Whether you want a straight or shaped waistband." - }, - "circleRatio": { - "t": "Circle ratio", - "d": "The percentage of a circle you want the skirt to be." - }, - "waistbandOverlap": { - "t": "Waistband overlap", - "d": "The amount by which the waistband overlaps." - }, - "gathering": { - "t": "Gathering", - "d": "The percent by which the top of the skirt is longer than the bottom of the waistband." - }, - "lengthBonus": { - "t": "Length bonus", - "d": "Determines how long the skirt will be." - }, - "seamlessFullCircle": { - "t": "Seamless full circle", - "d": "Enables a seamless full circle skirt." - }, - "hemWidth": { - "t": "Hem width", - "d": "Width of the hem" - }, - "panels": { - "t": "Panels", - "d": "Number of panels" - } - } -} diff --git a/designs/sandy/package.json b/designs/sandy/package.json index fec0c160861..62777c48e5b 100644 --- a/designs/sandy/package.json +++ b/designs/sandy/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/sandy", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a circle skirt", "author": "AlfaLyr (https://github.com/alfalyr)", "homepage": "https://freesewing.org/", @@ -25,49 +25,42 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/snapseries": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/snapseries": "4.0.0" + }, + "dependencies": { + "@freesewing/plugin-ringsector": "4.0.0" }, - "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/sandy/src/index.mjs b/designs/sandy/src/index.mjs index 6daa4ac8e2f..2ccc88e2a45 100644 --- a/designs/sandy/src/index.mjs +++ b/designs/sandy/src/index.mjs @@ -1,14 +1,14 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { skirt } from './skirt.mjs' import { waistband } from './waistband.mjs' // Setup our new design const Sandy = new Design({ - data, + data: about, parts: [skirt, waistband], }) // Named exports -export { skirt, waistband, Sandy, i18n } +export { skirt, waistband, Sandy, i18n, about } diff --git a/designs/sandy/tests/shared.test.mjs b/designs/sandy/tests/shared.test.mjs index b120cb3988d..455ec65a64f 100644 --- a/designs/sandy/tests/shared.test.mjs +++ b/designs/sandy/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Sandy, i18n } from '../src/index.mjs' +import { Sandy, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Sandy) +testPatternConfig(Sandy, about) // Test translation testPatternI18n(Sandy, i18n) diff --git a/designs/shelly/CHANGELOG.md b/designs/shelly/CHANGELOG.md index b17e28d71b0..fbba2591e93 100644 --- a/designs/shelly/CHANGELOG.md +++ b/designs/shelly/CHANGELOG.md @@ -1,6 +1,12 @@ # Change log for: @freesewing/shelly +## 4.0.0 (2024-04-01) + +### Changed + + - Always load plugin-bust due to its changes in how it handle conditionality. + ## 3.0.0 (2023-09-30) ### Changed diff --git a/designs/shelly/README.md b/designs/shelly/README.md index ca0be3f0132..6d69f5ebf2e 100644 --- a/designs/shelly/README.md +++ b/designs/shelly/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:shelly - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/shelly @@ -59,7 +44,7 @@ A FreeSewing pattern for a raglan shirt, perfect for swimshirts > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/shelly/data.mjs b/designs/shelly/data.mjs deleted file mode 100644 index bf5ae76dbde..00000000000 --- a/designs/shelly/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/shelly' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/shelly/i18n/de.json b/designs/shelly/i18n/de.json deleted file mode 100644 index d6b97ba7dce..00000000000 --- a/designs/shelly/i18n/de.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "t": "Hugo, der Hoodie", - "d": "Hugo ist ein Kapuzensweatshirt mit Raglanärmeln.", - "p": { - "base": "Base", - "back": "Back", - "cuff": "Cuff", - "front": "Front", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "pocket": "Pocket", - "pocketFacing": "Pocket facing", - "sleeve": "Sleeve", - "waistband": "Waistband" - }, - "s": { - "cuff": "Manschette", - "hoodCenter": "Mitte der Kapuze", - "hoodSide": "Kapuzenseite", - "pocketFacing": "Taschenbesatz", - "pocket": "Tasche", - "waistband": "Bund" - }, - "o": { - "hipsEase": { - "t": "Zugabe Hüfte", - "d": "Die Menge an Bequemlichkeitszugabe an deinen Hüften." - } - } -} diff --git a/designs/shelly/i18n/es.json b/designs/shelly/i18n/es.json deleted file mode 100644 index 77a7326e09e..00000000000 --- a/designs/shelly/i18n/es.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "t": "Hugo, sudadera con capucha", - "d": "Hugo es una sudadera con capucha y manga raglán.", - "p": { - "base": "Base", - "back": "Back", - "cuff": "Cuff", - "front": "Front", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "pocket": "Pocket", - "pocketFacing": "Pocket facing", - "sleeve": "Sleeve", - "waistband": "Waistband" - }, - "s": { - "cuff": "Puño", - "hoodCenter": "Centro de la capucha", - "hoodSide": "Lado de la capucha", - "pocketFacing": "Mirando hacia el bolsillo", - "pocket": "Bolsillo", - "waistband": "Pretina" - }, - "o": { - "hipsEase": { - "t": "Holgura de cadera", - "d": "La cantidad de holgura en la cadera." - } - } -} diff --git a/designs/shelly/i18n/fr.json b/designs/shelly/i18n/fr.json deleted file mode 100644 index 6cc98f0c018..00000000000 --- a/designs/shelly/i18n/fr.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "t": "Sweat à capuche Hugo", - "d": "Hugo est un sweat à capuche avec des manches raglan.", - "p": { - "base": "Base", - "back": "Back", - "cuff": "Cuff", - "front": "Front", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "pocket": "Pocket", - "pocketFacing": "Pocket facing", - "sleeve": "Sleeve", - "waistband": "Waistband" - }, - "s": { - "cuff": "Poignet", - "hoodCenter": "Milieu de capuche", - "hoodSide": "Côté de capuche", - "pocketFacing": "Doublure de poche", - "pocket": "Poche", - "waistband": "Ceinture" - }, - "o": { - "hipsEase": { - "t": "Aisance des hanches", - "d": "La marge d'aisance aux hanches." - } - } -} diff --git a/designs/shelly/i18n/index.mjs b/designs/shelly/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/shelly/i18n/index.mjs +++ b/designs/shelly/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/shelly/i18n/nl.json b/designs/shelly/i18n/nl.json deleted file mode 100644 index 36193bb9f12..00000000000 --- a/designs/shelly/i18n/nl.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "t": "Hugo hoodie", - "d": "Hugo is een trui met kap en een raglanmouw.", - "p": { - "base": "Base", - "back": "Back", - "cuff": "Cuff", - "front": "Front", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "pocket": "Pocket", - "pocketFacing": "Pocket facing", - "sleeve": "Sleeve", - "waistband": "Waistband" - }, - "s": { - "cuff": "Manchette", - "hoodCenter": "Capuchon midden", - "hoodSide": "Capuchon zijkant", - "pocketFacing": "Zak doublure", - "pocket": "Zak", - "waistband": "Tailleband" - }, - "o": { - "hipsEase": { - "t": "Overwijdte heup", - "d": "De hoeveelheid overwijdte aan je heupen." - } - } -} diff --git a/designs/shelly/i18n/uk.json b/designs/shelly/i18n/uk.json deleted file mode 100644 index 625d097fcc8..00000000000 --- a/designs/shelly/i18n/uk.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "t": "Hugo hoodie", - "d": "Hugo is a hooded jumper with raglan sleeves.", - "p": { - "base": "Base", - "back": "Back", - "cuff": "Cuff", - "front": "Front", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "pocket": "Pocket", - "pocketFacing": "Pocket facing", - "sleeve": "Sleeve", - "waistband": "Waistband" - }, - "s": { - "cuff": "Cuff", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "pocketFacing": "Pocket facing", - "pocket": "Pocket", - "waistband": "Waistband" - }, - "o": { - "ribbingHeight": { - "t": "Ribbing height", - "d": "Controls the height of the ribbing" - }, - "ribbingStretch": { - "t": "Ribbing stretch", - "d": "Use this to adapt the pattern to how stretchy the ribbing that you are using is." - }, - "hipsEase": { - "t": "Hips ease", - "d": "The amount of ease at your hips." - } - } -} diff --git a/designs/shelly/package.json b/designs/shelly/package.json index 9cab7eb42ff..a54e0abece1 100644 --- a/designs/shelly/package.json +++ b/designs/shelly/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/shelly", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a raglan shirt, perfect for swimshirts", "author": "Thrunic (https://github.com/Thrunic)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/shelly/src/index.mjs b/designs/shelly/src/index.mjs index 2e4b4197179..f251062ebf4 100644 --- a/designs/shelly/src/index.mjs +++ b/designs/shelly/src/index.mjs @@ -1,6 +1,6 @@ // Import Design constructor import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' // Import parts import { front } from './front.mjs' @@ -10,7 +10,7 @@ import { neckband } from './neckband.mjs' // Create the new design const Shelly = new Design({ - data, + data: about, // A list of parts is all that is required. parts: [front, back, raglanSleeve, neckband], }) @@ -22,4 +22,4 @@ const Shelly = new Design({ * This allows us to re-use these parts in other designs. */ -export { front, back, raglanSleeve, neckband, Shelly, i18n } +export { front, back, raglanSleeve, neckband, Shelly, i18n, about } diff --git a/designs/shelly/tests/shared.test.mjs b/designs/shelly/tests/shared.test.mjs index 660a60b3d07..c4a7077524f 100644 --- a/designs/shelly/tests/shared.test.mjs +++ b/designs/shelly/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Shelly, i18n } from '../src/index.mjs' +import { Shelly, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Shelly) +testPatternConfig(Shelly, about) // Test translation testPatternI18n(Shelly, i18n) diff --git a/designs/shin/README.md b/designs/shin/README.md index dc0d497e01c..5aa4e29a1c6 100644 --- a/designs/shin/README.md +++ b/designs/shin/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:shin - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/shin @@ -59,7 +44,7 @@ A FreeSewing pattern for swim trunks > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/shin/data.mjs b/designs/shin/data.mjs deleted file mode 100644 index e5b8485d68a..00000000000 --- a/designs/shin/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/shin' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/shin/i18n/de.json b/designs/shin/i18n/de.json deleted file mode 100644 index a2291fe357a..00000000000 --- a/designs/shin/i18n/de.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "t": "Shin, die Badehose", - "d": "Shin ist eine sportliche Badehose.", - "p": { - "back": "Rückseite", - "front": "Vorderseite", - "waistband": "Bund" - }, - "s": {}, - "o": { - "legReduction": { - "t": "Verjüngung am Bein", - "d": "Reduziert die Hosenbeinöffnung um Anstehen zu verhindern" - }, - "elasticWidth": { - "t": "Breite des Gummis", - "d": "Breite des Gummizugs an der Taille" - }, - "stretch": { - "t": "Stretch", - "d": "The amount of stretch to design for." - }, - "bulge": { - "t": "Bulge", - "d": "Controls the amount of extra room to create at the front of the trunks." - }, - "rise": { - "t": "Rise", - "d": "Controls the height of the waist." - }, - "backRise": { - "t": "Back rise", - "d": "Controls how much the waist is higher in the back than the front." - } - } -} diff --git a/designs/shin/i18n/es.json b/designs/shin/i18n/es.json deleted file mode 100644 index bbb4a4af928..00000000000 --- a/designs/shin/i18n/es.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "t": "Shin, bañador", - "d": "Shin es un bañador de tipo pantalón corto.", - "p": { - "back": "Atrás", - "front": "Frente", - "waistband": "Pretina" - }, - "s": {}, - "o": { - "legReduction": { - "t": "Reducción de pierna", - "d": "Reduce la apertura de la pierna para prevenir que se abra" - }, - "elasticWidth": { - "t": "Elastic width", - "d": "Width of the elastic at the waist" - }, - "stretch": { - "t": "Stretch", - "d": "The amount of stretch to design for." - }, - "bulge": { - "t": "Bulge", - "d": "Controls the amount of extra room to create at the front of the trunks." - }, - "rise": { - "t": "Rise", - "d": "Controls the height of the waist." - }, - "backRise": { - "t": "Back rise", - "d": "Controls how much the waist is higher in the back than the front." - } - } -} diff --git a/designs/shin/i18n/fr.json b/designs/shin/i18n/fr.json deleted file mode 100644 index 3a36a0c0510..00000000000 --- a/designs/shin/i18n/fr.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "t": "Boxer de bain Shin", - "d": "Les tiges sont des maillots de bain athlétiques.", - "p": { - "back": "Retour", - "front": "Avant", - "waistband": "Ceinture" - }, - "s": {}, - "o": { - "legReduction": { - "t": "Réduction de jambe", - "d": "Réduit l'ouverture de la jambe pour éviter les effets de flottement" - }, - "elasticWidth": { - "t": "Largeur d'élastique", - "d": "Largeur de l'élastique à la taille" - }, - "stretch": { - "t": "Stretch", - "d": "The amount of stretch to design for." - }, - "bulge": { - "t": "Bulge", - "d": "Controls the amount of extra room to create at the front of the trunks." - }, - "rise": { - "t": "Rise", - "d": "Controls the height of the waist." - }, - "backRise": { - "t": "Back rise", - "d": "Controls how much the waist is higher in the back than the front." - } - } -} diff --git a/designs/shin/i18n/index.mjs b/designs/shin/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/shin/i18n/index.mjs +++ b/designs/shin/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/shin/i18n/nl.json b/designs/shin/i18n/nl.json deleted file mode 100644 index 2929321851e..00000000000 --- a/designs/shin/i18n/nl.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "t": "Shin zwembroek", - "d": "Shin is atletische zwembroek.", - "p": { - "back": "Achterzijde", - "front": "Voorzijde", - "waistband": "Tailleband" - }, - "s": {}, - "o": { - "legReduction": { - "t": "Been reductie", - "d": "Maakt de beenopening kleiner zodat ze niet openstaat" - }, - "elasticWidth": { - "t": "Breedte elastiek", - "d": "Breedte van de elastiek aan de taille" - }, - "stretch": { - "t": "Stretch", - "d": "The amount of stretch to design for." - }, - "bulge": { - "t": "Bulge", - "d": "Controls the amount of extra room to create at the front of the trunks." - }, - "rise": { - "t": "Rise", - "d": "Controls the height of the waist." - }, - "backRise": { - "t": "Back rise", - "d": "Controls how much the waist is higher in the back than the front." - } - } -} diff --git a/designs/shin/i18n/uk.json b/designs/shin/i18n/uk.json deleted file mode 100644 index a644f521bcf..00000000000 --- a/designs/shin/i18n/uk.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "t": "Shin swim trunks", - "d": "Shin are athletic swim trunks.", - "p": { - "back": "Back", - "front": "Front", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "legReduction": { - "t": "Leg reduction", - "d": "Reduces the leg opening to prevent gaping" - }, - "elasticWidth": { - "t": "Elastic width", - "d": "Width of the elastic at the waist" - }, - "stretch": { - "t": "Stretch", - "d": "The amount of stretch to design for." - }, - "bulge": { - "t": "Bulge", - "d": "Controls the amount of extra room to create at the front of the trunks." - }, - "rise": { - "t": "Rise", - "d": "Controls the height of the waist." - }, - "backRise": { - "t": "Back rise", - "d": "Controls how much the waist is higher in the back than the front." - } - } -} diff --git a/designs/shin/package.json b/designs/shin/package.json index a7fcc564fd6..da4b10855c4 100644 --- a/designs/shin/package.json +++ b/designs/shin/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/shin", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for swim trunks", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,49 +25,40 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/snapseries": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/snapseries": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/shin/src/index.mjs b/designs/shin/src/index.mjs index 8cadcc023e8..0ba2e9c11fa 100644 --- a/designs/shin/src/index.mjs +++ b/designs/shin/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { back } from './back.mjs' import { front } from './front.mjs' @@ -7,9 +7,9 @@ import { waistband } from './waistband.mjs' // Setup our new design const Shin = new Design({ - data, + data: about, parts: [back, front, waistband], }) // Named exports -export { back, front, waistband, Shin, i18n } +export { back, front, waistband, Shin, i18n, about } diff --git a/designs/shin/tests/shared.test.mjs b/designs/shin/tests/shared.test.mjs index bc4f0c8bea0..c5eddbd8bce 100644 --- a/designs/shin/tests/shared.test.mjs +++ b/designs/shin/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Shin, i18n } from '../src/index.mjs' +import { Shin, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Shin) +testPatternConfig(Shin, about) // Test translation testPatternI18n(Shin, i18n) diff --git a/designs/simon/CHANGELOG.md b/designs/simon/CHANGELOG.md index 4c7f151c24b..774a2021f48 100644 --- a/designs/simon/CHANGELOG.md +++ b/designs/simon/CHANGELOG.md @@ -1,6 +1,12 @@ # Change log for: @freesewing/simon +## 4.0.0 (2024-04-01) + +### Changed + + - Allow negative values for the buttonFreeLength option. Fixes + ## 3.1.0 (2023-12-26) ### Fixed diff --git a/designs/simon/README.md b/designs/simon/README.md index d1d4b2798dd..3982b79a6cd 100644 --- a/designs/simon/README.md +++ b/designs/simon/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:simon - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/simon @@ -59,7 +44,7 @@ A FreeSewing pattern for a button down shirt > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/simon/data.mjs b/designs/simon/data.mjs deleted file mode 100644 index 0d5fd3326c6..00000000000 --- a/designs/simon/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/simon' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/simon/i18n/de.json b/designs/simon/i18n/de.json deleted file mode 100644 index 053a23a3914..00000000000 --- a/designs/simon/i18n/de.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "t": "Simon, das Hemd", - "d": "Simon ist ein sehr anpassbares Hemdenschnittmuster für Personen ohne Brüste.", - "p": { - "back": "Rückseite", - "buttonholePlacket": "Knopflochleiste", - "buttonPlacket": "Knopfleiste", - "collar": "Kragen", - "collarStand": "Kragensteg", - "cuff": "Manschette", - "front": "Vorderseite", - "frontLeft": "Vorderseite links", - "frontRight": "Vorderseite rechts", - "sleevePlacketOverlap": "Übertritt der Ärmelleiste", - "sleevePlacketUnderlap": "Untertritt der Ärmelleiste", - "sleeve": "Ärmel", - "yoke": "Passe" - }, - "s": { - "buttonholePlacket": "Knopflochleiste", - "buttonPlacket": "Knopfleiste", - "collarAndUndercollar": "Kragen und Unterkragen", - "collarStand": "Kragensteg", - "cutUndercollarSlightlySmaller": "Unterkragen etwas kleiner schneiden", - "frontLeft": "Vorne links", - "frontRight": "Vorne rechts", - "sideOfTheCollarStand": "Seite des Kragenstegs", - "sleevePlacketOverlap": "Übertritt der Ärmelleiste", - "sleevePlacketUnderlap": "Untertritt der Ärmelleiste", - "yoke": "Passe", - "matchHere": "Stoffe entlang dieser Linie aufeinander abpassen" - }, - "o": { - "backDarts": { - "t": "Hintere Abnäher", - "d": "Ob Abnäher am Rücken eingefügt werden sollen oder nicht" - }, - "backDartShaping": { - "t": "Formgebung der hinteren Abnäher", - "d": "Wie stark die hinteren Abnäher die Figur betonen" - }, - "barrelCuffNarrowButton": { - "t": "Manschette schmaler Knopf", - "d": "Gibt an, ob ein Knopf hinzugefügt wird, um die Manschetten enger zu binden. Diese Option ist nur für Einfachmanschetten relevant." - }, - "boxPleat": { - "t": "Kellerfalte", - "d": "Ob eine Kellerfalte am Rückenteil eingefügt wird oder nicht" - }, - "boxPleatWidth": { - "t": "Kellerfaltenweite", - "d": "Gesamtbreite der Kellerfalte" - }, - "boxPleatFold": { - "t": "Kellerfalte Falz", - "d": "Der Betrag, um den die Kellerfalte nach innen gefaltet wird" - }, - "buttonPlacketStyle": { - "t": "Knopfleiste Stil", - "d": "Stil der Knopfleiste." - }, - "buttonPlacketWidth": { - "t": "Knopfleiste Breite", - "d": "Breite der Knopfleiste." - }, - "buttonFreeLength": { - "t": "Freie Länge Knopf", - "d": "Wie viel am unteren Ende der Verschlussleiste knopf-frei bleiben soll." - }, - "buttonholePlacketFoldWidth": { - "t": "Knopflochleiste Falzbreite", - "d": "Breite der Falz der Knopflochleiste." - }, - "buttonholePlacketStyle": { - "t": "Knopflochleiste Stil", - "d": "Stil der Knoplochfleiste." - }, - "buttonholePlacketWidth": { - "t": "Knopflochleiste Breite", - "d": "Breite der Knopflochleiste." - }, - "buttons": { - "t": "Anzahl der Knöpfe", - "d": "Die Anzahl der Knöpfe am vorderen Verschluss." - }, - "collarAngle": { - "t": "Kragenwinkel", - "d": "Der Winkel der Kragenspitzen." - }, - "collarBend": { - "t": "Kragenkrümmung", - "d": "Die Krümmung des Kragens." - }, - "collarFlare": { - "t": "Kragenausstellung", - "d": "Wie weit die Kragenspitzen ausgestellt sind." - }, - "collarGap": { - "t": "Kragenlücke", - "d": "Der Spalt zwischen den beiden Kragenenden." - }, - "collarRoll": { - "t": "Kragenrolle", - "d": "Der Betrag, um den der Oberkragen größer ist als der Unterkragen." - }, - "collarStandBend": { - "t": "Kragenstegbiegung", - "d": "Die Biegung des Kragensstegs." - }, - "collarStandCurve": { - "t": "Kragenstegkrümmung", - "d": "Die Krümmung des Kragensstegs." - }, - "collarStandWidth": { - "t": "Kragenstegbreite", - "d": "Breite des Kragenstegs." - }, - "cuffButtonRows": { - "t": "Manschettenknopfreihen", - "d": "Gibt an, ob eine einzelne oder doppelte Reihe von Manschettenknöpfen erstellt werden soll. Diese Option ist nur für Einfachmanschetten relevant." - }, - "cuffDrape": { - "t": "Manschette drapieren", - "d": "Der Betrag, um den der Ärmel breiter ist als die Manschette, an der Stelle wo sie zusammengefügt werden." - }, - "cuffLength": { - "t": "Manschettenlänge", - "d": "Die Länge der Manschetten." - }, - "cuffStyle": { - "t": "Manschettenstil", - "d": "Der Stil der Manschetten." - }, - "extraTopButton": { - "t": "Zusätzlicher oberer Knopf", - "d": "Gibt an, ob am vorderen Verschluss ein zusätzlicher oberer Knopf hinzugefügt werden soll." - }, - "ffsa": { - "t": "Flachgeplagte Naht erlaubt", - "d": "Die Anzahl der Nahtzuschüsse für geflochtene Nähte im Verhältnis zum regulären Nahtzuschuss" - }, - "hemCurve": { - "t": "Saumkurve", - "d": "Die Höhe der Kurve an einem abgerundeten Saum." - }, - "hemStyle": { - "t": "Saumstil", - "d": "Der Stil des Hemdsaumes." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at the hips." - }, - "roundBack": { - "t": "Runder Rücken", - "d": "Damit die Passform für einen runde(re)n Rücken besser ist, fügt diese Option etwas Länge in der hinteren Mitte (an der Passe) hinzu, die sich zu den Seiten hin verjüngt." - }, - "separateButtonholePlacket": { - "t": "Separate Knopflochleiste", - "d": "Eine separate Knopflochleiste entwerfen." - }, - "separateButtonPlacket": { - "t": "Separate Knopfleiste", - "d": "Eine separate Knopfleiste entwerfen" - }, - "sleevePlacketLength": { - "t": "Ärmelleistenlänge", - "d": "Die Länge der Ärmelleiste." - }, - "sleevePlacketWidth": { - "t": "Ärmelleiste Breite", - "d": "Die Breite der Ärmelleiste." - }, - "splitYoke": { - "t": "Geteilte Passe", - "d": "Ob eine geteilte oder normale Passe erstellt werden soll." - }, - "waistEase": { - "t": "Taillenzugabe", - "d": "Der Betrag, der an deiner (natürlichen) Taille als Bequemlichkeits-/Bewegslichkeitszugabe zugegeben wird." - }, - "yokeHeight": { - "t": "Passenhöhe", - "d": "Steuert die Höhe der Passe" - } - } -} diff --git a/designs/simon/i18n/en.json b/designs/simon/i18n/en.json index fdf0178ab35..6e087cf2f55 100644 --- a/designs/simon/i18n/en.json +++ b/designs/simon/i18n/en.json @@ -6,6 +6,7 @@ "buttonholePlacket": "Buttonhole placket", "buttonPlacket": "Button placket", "collar": "Collar", + "collarAndUndercollar": "Collar and Undercollar", "collarStand": "Collar stand", "cuff": "Cuff", "front": "Front", diff --git a/designs/simon/i18n/es.json b/designs/simon/i18n/es.json deleted file mode 100644 index aa07ea568e8..00000000000 --- a/designs/simon/i18n/es.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "t": "Simon, camisa", - "d": "Simon es un patrón de camisa altamente adaptable para personas sin pechos.", - "p": { - "back": "Atrás", - "buttonholePlacket": "Tapeta de ojal", - "buttonPlacket": "Tapeta de botones", - "collar": "Cuello", - "collarStand": "Soporte de collar", - "cuff": "Cuffnl", - "front": "Frente", - "frontLeft": "Delantero izquierdo", - "frontRight": "Frente derecho", - "sleevePlacketOverlap": "Top de manga tapeta", - "sleevePlacketUnderlap": "Parte inferior de la tapeta de la manga", - "sleeve": "Manga", - "yoke": "Yugo" - }, - "s": { - "buttonholePlacket": "Tapeta de ojal", - "buttonPlacket": "Tapeta de botones", - "collarAndUndercollar": "Collar y Undercollar", - "collarStand": "Base del cuello", - "cutUndercollarSlightlySmaller": "Corte undercollar ligeramente más pequeño", - "frontLeft": "Delantero izquierdo", - "frontRight": "Delantero derecha", - "sideOfTheCollarStand": "Lado del soporte del collar", - "sleevePlacketOverlap": "Vista de la manga superior", - "sleevePlacketUnderlap": "Vista de la manga fondo", - "yoke": "Canesú", - "matchHere": "Coincidir tela a lo largo de esta línea" - }, - "o": { - "backDarts": { - "t": "Pinzas traseras", - "d": "Incluir o no pinzas traseras" - }, - "backDartShaping": { - "t": "Forma de las pinzas traseras", - "d": "La cantidad de forma que añaden las pinzas traseras" - }, - "barrelCuffNarrowButton": { - "t": "Botón de ajuste del puño", - "d": "Incluír o no un botón extra para ajustar más los puños. Esta opción sólo es relevante para puños de barril." - }, - "boxPleat": { - "t": "Pliegue en caja", - "d": "Si incluir un pliegue en caja en la parte trasera o no" - }, - "boxPleatWidth": { - "t": "Anchura del pliegue en caja", - "d": "El ancho total del pliegue en caja" - }, - "boxPleatFold": { - "t": "Doblado del pliegue en caja", - "d": "La cantidad por la que el piegue en caja se dobla hacia adentro" - }, - "buttonPlacketStyle": { - "t": "Estilo de la vista de los botones", - "d": "Estilo de la visto de los botones" - }, - "buttonPlacketWidth": { - "t": "Anchura de la vista de los botones", - "d": "Anchura de la vista de los botones" - }, - "buttonFreeLength": { - "t": "Longitud sin botones", - "d": "Qué longitud se deja entre el último botón y el bajo." - }, - "buttonholePlacketFoldWidth": { - "t": "Anchura del pliegue de la vista de los ojales", - "d": "Anchura del pliegue de la vista de los ojales." - }, - "buttonholePlacketStyle": { - "t": "Estilo de la vista de los ojales", - "d": "Estilo de la vista de los ojales." - }, - "buttonholePlacketWidth": { - "t": "Anchura de la vista de los ojales", - "d": "Ancho de la placa del agujero del botón." - }, - "buttons": { - "t": "Número de botones", - "d": "Número de botones delanteros" - }, - "collarAngle": { - "t": "Ángulo del pico del cuello", - "d": "El ángulo de los picos del cuello" - }, - "collarBend": { - "t": "Inclinación del cuello", - "d": "La inclinación del cuello hacia atrás." - }, - "collarFlare": { - "t": "Forma de los picos del cuello", - "d": "Cuánto más ancho es el cuello en los picos con respecto al centro." - }, - "collarGap": { - "t": "Espaciado del cuello", - "d": "La separación entre los dos extremos del cuello" - }, - "collarRoll": { - "t": "Vuelta del cuello", - "d": "La cantidad en la que el cuello es más alto que la base del cuello en el centro por detrás." - }, - "collarStandBend": { - "t": "Doblado de la base del cuello", - "d": "La cantidad en la que el cuello superior es mayor que el inferior." - }, - "collarStandCurve": { - "t": "Curvatura de la base del cuello", - "d": "La curvatura de la base del cuello." - }, - "collarStandWidth": { - "t": "Anchura de la base del cuello", - "d": "Ancho del soporte de cuello." - }, - "cuffButtonRows": { - "t": "Hileras de botones en los puños", - "d": "Trazar una o dos hileras de botones en los puños. Esta opción es relevante sólo para puños de barril." - }, - "cuffDrape": { - "t": "Plisado del puño", - "d": "La cantidad en la que la manga es más ancha que el puño en el lugar donde se unen." - }, - "cuffLength": { - "t": "Longitud del puño", - "d": "La longitud de los puños." - }, - "cuffStyle": { - "t": "Estilo del puño", - "d": "El estilo de los puños." - }, - "extraTopButton": { - "t": "Botón extra superior", - "d": "Incluír o no un botón extra en el cierre frontal." - }, - "ffsa": { - "t": "Costura plana permitida", - "d": "La cantidad de permisos de costura en costuras taladas con flete como una proporción de la franquicia regular de costura" - }, - "hemCurve": { - "t": "Curva del dobladillo", - "d": "La altura de la curva en un dobladillo redondeado." - }, - "hemStyle": { - "t": "Estilo del dobladillo", - "d": "El estilo del dobladillo." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at the hips." - }, - "roundBack": { - "t": "Retroceso", - "d": "Para encajar un redondo(er) hacia atrás, esto añade longitud al centro de atrás (en el yo) que se atenúa hacia los lados." - }, - "separateButtonholePlacket": { - "t": "Tapeta de ojal separada", - "d": "Construye una placa separada del botón." - }, - "separateButtonPlacket": { - "t": "Tapeta de botones separada", - "d": "Borra una placket de botones separada" - }, - "sleevePlacketLength": { - "t": "Longitud de la vista de la manga", - "d": "La longitud de la vista de la manga." - }, - "sleevePlacketWidth": { - "t": "Anchura de la vista de la manga", - "d": "La anchura de la vista de la manga." - }, - "splitYoke": { - "t": "Canesú partido", - "d": "Si se traza el canesú normal o partido." - }, - "waistEase": { - "t": "Holgura de cintura", - "d": "La cantidad de holgura en la cintura." - }, - "yokeHeight": { - "t": "Altura del yugo", - "d": "Controla la altura del yugo" - } - } -} diff --git a/designs/simon/i18n/fr.json b/designs/simon/i18n/fr.json deleted file mode 100644 index 8e26194a547..00000000000 --- a/designs/simon/i18n/fr.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "t": "Chemise Simon", - "d": "Simon est un modèle de chemise très adaptable pour les personnes sans sein.", - "p": { - "back": "Retour", - "buttonholePlacket": "Patte de boutonnière", - "buttonPlacket": "Patte de boutonnage", - "collar": "Collier", - "collarStand": "Support de collier", - "cuff": "Manchette", - "front": "Avant", - "frontLeft": "Avant gauche", - "frontRight": "Avant droit", - "sleevePlacketOverlap": "Patte de manche haut", - "sleevePlacketUnderlap": "Patte de manche bas", - "sleeve": "Manche", - "yoke": "Empiècement" - }, - "s": { - "buttonholePlacket": "Patte de boutonnage - boutonnières", - "buttonPlacket": "Patte de boutonnage - boutons", - "collarAndUndercollar": "Col et sous-col", - "collarStand": "Pied de col", - "cutUndercollarSlightlySmaller": "Couper le sous-col légèrement plus petit", - "frontLeft": "Avant gauche", - "frontRight": "Avant droit", - "sideOfTheCollarStand": "Côté du pied de col", - "sleevePlacketOverlap": "Patte de manche supérieure", - "sleevePlacketUnderlap": "Patte de manche inférieure", - "yoke": "Empiècement", - "matchHere": "Aligner le tissu le long de cette ligne" - }, - "o": { - "backDarts": { - "t": "Pinces dos", - "d": "Inclure ou non des pinces au dos" - }, - "backDartShaping": { - "t": "Forme de la pince dos", - "d": "L'ajustement résultant des pinces du dos" - }, - "barrelCuffNarrowButton": { - "t": "Bouton de resserrage de poignet", - "d": "Détermine si on va inclure un bouton pour rendre les poignets de manche plus étroits. Cette option n'est pertinente que pour les poignets de manche classiques." - }, - "boxPleat": { - "t": "Pli plat", - "d": "Inclure ou non un pli plat au dos" - }, - "boxPleatWidth": { - "t": "Largeur du pli plat", - "d": "Largeur totale du pli plat" - }, - "boxPleatFold": { - "t": "Repli du pli plat", - "d": "La largeur du pli plat repliée à l'intérieur" - }, - "buttonPlacketStyle": { - "t": "Style de patte de boutonnage", - "d": "Style de la patte de boutonnage" - }, - "buttonPlacketWidth": { - "t": "Largeur de patte de boutonnage - côté boutons", - "d": "Largeur de la patte de boutonnage sur le côté des boutons." - }, - "buttonFreeLength": { - "t": "Longueur sans bouton", - "d": "Quelle distance laisser sans bouton à partir du bas devant de la chemise ." - }, - "buttonholePlacketFoldWidth": { - "t": "Largeur du pli de la patte de boutonnage (côté boutonnières)", - "d": "Largeur du pli de la gorge (patte de boutonnage, du côté des boutonnières)." - }, - "buttonholePlacketStyle": { - "t": "Style de patte de boutonnage (côté boutonnières)", - "d": "Style de la gorge (patte de boutonnage, côté boutonnières)." - }, - "buttonholePlacketWidth": { - "t": "Largeur de patte de boutonnage (côté boutonnières)", - "d": "Largeur de la gorge (patte de boutonnage, côté des boutonnières)." - }, - "buttons": { - "t": "Nombre de boutons", - "d": "Le nombre de boutons sur la fermeture avant." - }, - "collarAngle": { - "t": "Angle du col", - "d": "L'angle des pointes de col." - }, - "collarBend": { - "t": "Courbure du col", - "d": "La courbure du col." - }, - "collarFlare": { - "t": "Évasement du col", - "d": "L'évasement des pointes du col." - }, - "collarGap": { - "t": "Écart du col", - "d": "L'écart entre les deux extrémités du col." - }, - "collarRoll": { - "t": "Repli du col", - "d": "La valeur rendant le tombant du col plus large que le pied de col." - }, - "collarStandBend": { - "t": "Courbure centrale du pied de col", - "d": "La courbure centrale du pied de col." - }, - "collarStandCurve": { - "t": "Courbe des extrémités du pied de col", - "d": "La courbe des extrémités du pied de col." - }, - "collarStandWidth": { - "t": "Largeur du pied de col", - "d": "Largeur du porte-col." - }, - "cuffButtonRows": { - "t": "Rangée de boutons de manchette", - "d": "Simple ou double rangée de boutons de poignet. Cette option n'est pertinente que pour les poignets classiques." - }, - "cuffDrape": { - "t": "Drapé du bas de manche", - "d": "Il s'agit de la largeur supplémentaire de tissu de la manche par rapport au poignet, à l'endroit où ils sont joints." - }, - "cuffLength": { - "t": "Longueur de bracelet", - "d": "La longueur des poignets." - }, - "cuffStyle": { - "t": "Style de bracelet", - "d": "Style de poignets." - }, - "extraTopButton": { - "t": "Bouton supérieur supplémentaire", - "d": "Inclure ou non un bouton supplémentaire en haut de fermeture avant." - }, - "ffsa": { - "t": "Couture abattu à plat autorisée", - "d": "La quantité de la marge de couture sur les coutures abattues en proportion de la marge de couture normale" - }, - "hemCurve": { - "t": "Courbe de l'ourlet", - "d": "La hauteur de l'arrondi sur un ourlet arrondi." - }, - "hemStyle": { - "t": "Style d'ourlet", - "d": "Le style de l'ourlet de la chemise." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at the hips." - }, - "roundBack": { - "t": "Arrondi arrière", - "d": "Pour installer un rond-point arrière, cela ajoute de la longueur au centre du dos (au yoke) que les foulards de vers les côtés." - }, - "separateButtonholePlacket": { - "t": "Gorge (Patte de boutonnières) séparée", - "d": "Dessinez une gorge (patte de boutonnières) séparée." - }, - "separateButtonPlacket": { - "t": "Patte de boutonnage séparée", - "d": "Dessinez une patte de boutonnage séparée" - }, - "sleevePlacketLength": { - "t": "Longueur de la patte de manche", - "d": "La longueur de la patte de manche" - }, - "sleevePlacketWidth": { - "t": "Largeur de la patte de manche", - "d": "La largeur de la patte de manche" - }, - "splitYoke": { - "t": "Empiècement dos à couture médiane (\"split yoke\")", - "d": "Dessiner un empiècement divisé ou classique (une seule pièce)." - }, - "waistEase": { - "t": "Aisance à la taille", - "d": "La quantité d'aisance à votre taille (naturelle)." - }, - "yokeHeight": { - "t": "Hauteur du yoke", - "d": "Contrôle la hauteur du joug" - } - } -} diff --git a/designs/simon/i18n/index.mjs b/designs/simon/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/simon/i18n/index.mjs +++ b/designs/simon/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/simon/i18n/nl.json b/designs/simon/i18n/nl.json deleted file mode 100644 index f91ee52c9f1..00000000000 --- a/designs/simon/i18n/nl.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "t": "Simon hemd", - "d": "Simon is een zeer flexibel hemdpatroon voor mensen zonder borsten.", - "p": { - "back": "Achterzijde", - "buttonholePlacket": "Knoopsgatenpat", - "buttonPlacket": "Knopenpat", - "collar": "Kraag", - "collarStand": "Kraagstaander", - "cuff": "Manchet", - "front": "Voorzijde", - "frontLeft": "Voorzijde links", - "frontRight": "Voorzijde rechts", - "sleevePlacketOverlap": "Mouwsplit boven", - "sleevePlacketUnderlap": "Mouwsplit onder", - "sleeve": "Mouw", - "yoke": "Schouderpas" - }, - "s": { - "buttonholePlacket": "Knoopsgatenpat", - "buttonPlacket": "Knopenpad", - "collarAndUndercollar": "Kraag en Onderkraag", - "collarStand": "Kraagstaander", - "cutUndercollarSlightlySmaller": "Knip de onderkraag een beetje kleiner", - "frontLeft": "Voorzijde links", - "frontRight": "Voorzijde rechts", - "sideOfTheCollarStand": "Kant van de kraagstaander", - "sleevePlacketOverlap": "Mouwsplit bovendeel", - "sleevePlacketUnderlap": "Mouwsplit onder", - "yoke": "Schouderpas", - "matchHere": "Laat de stof langs deze lijn uitkomen" - }, - "o": { - "backDarts": { - "t": "Nepen rug", - "d": "Of je nepen wil toevoegen aan de rug of niet" - }, - "backDartShaping": { - "t": "Vorm nepen rug", - "d": "Hoeveel invloed de nepen in de rug hebben op de pasvorm" - }, - "barrelCuffNarrowButton": { - "t": "Extra knoop manchet", - "d": "Of je al dan niet een knoop wil om de manchetten smaller te maken. Deze optie is enkel relevant bij klassieke manchetten (zonder manchetknopen)." - }, - "boxPleat": { - "t": "Stolpplooi", - "d": "Of je wel of niet een stolpplooi in de rug wil" - }, - "boxPleatWidth": { - "t": "Breedte stolpplooi", - "d": "De totale breedte van de stolpplooi" - }, - "boxPleatFold": { - "t": "Vouw stolpplooi", - "d": "Hoe ver de stolpplooi naar binnen vouwt" - }, - "buttonPlacketStyle": { - "t": "Stijl knopenpat", - "d": "De stijl van het knopenpat." - }, - "buttonPlacketWidth": { - "t": "Breedte knopenpat", - "d": "De breedte van het knopenpat." - }, - "buttonFreeLength": { - "t": "Lengte knooploos stuk", - "d": "Hoe lang het stuk zonder knopen onderaan de sluiting moet zijn." - }, - "buttonholePlacketFoldWidth": { - "t": "Breedte vouw knoopsgatenpat", - "d": "De breedte van de vouw in het knoopsgatenpat." - }, - "buttonholePlacketStyle": { - "t": "Stijl knoopsgatenpat", - "d": "De stijl van het knoopsgatenpat." - }, - "buttonholePlacketWidth": { - "t": "Breedte knoopsgatenpat", - "d": "De breedte van het knoopsgatenpat." - }, - "buttons": { - "t": "Aantal knopen", - "d": "Het aantal knopen op de sluiting vooraan." - }, - "collarAngle": { - "t": "Hoek kraag", - "d": "De hoek van de punten van de kraag." - }, - "collarBend": { - "t": "Kromming kraag", - "d": "De kromming van de kraag." - }, - "collarFlare": { - "t": "Spreiding kraag", - "d": "Hoe ver de punten van de kraag spreiden." - }, - "collarGap": { - "t": "Afstand kraag", - "d": "De open ruimte tussen de uiteindes van de kraag." - }, - "collarRoll": { - "t": "Omval kraag", - "d": "Hoeveel groter de bovenkraag is dan de onderkraag." - }, - "collarStandBend": { - "t": "Kromming staander", - "d": "De kromming van de staander in het midden, achteraan de nek." - }, - "collarStandCurve": { - "t": "Curve staander", - "d": "De curve van de uiteindes van de staander." - }, - "collarStandWidth": { - "t": "Breedte staander", - "d": "Breedte van de staander." - }, - "cuffButtonRows": { - "t": "Rijen knopen op manchet", - "d": "Of je een enkele of dubbele rij knopen op de manchet wil. Deze optie is enkel relevant voor klassieke manchetten." - }, - "cuffDrape": { - "t": "Verschil mouw/manchet", - "d": "Hoeveel wijder de mouw is dan de manchet op het punt waar ze wordt aangezet." - }, - "cuffLength": { - "t": "Lengte manchet", - "d": "De lengte van de manchetten." - }, - "cuffStyle": { - "t": "Stijl Manchet", - "d": "De stijl van de manchetten." - }, - "extraTopButton": { - "t": "Extra knoop bovenaan", - "d": "Of je al dan niet een extra knoop bovenaan de sluiting wil." - }, - "ffsa": { - "t": "Glanzende naadwaarde", - "d": "De hoeveelheid naadwaarde aan geflanste naden in verhouding tot de normale naadwaarde" - }, - "hemCurve": { - "t": "Curve zoom", - "d": "De hoogte van de curve op een afgeronde zoom." - }, - "hemStyle": { - "t": "Vorm zoom", - "d": "De vorm van de zoom van het hemd." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at the hips." - }, - "roundBack": { - "t": "Rond terug af", - "d": "Om een round(er) achteraan te passen voegt dit de lengte aan het midden (aan de schouderpas) toe die richting de zijkanten kort." - }, - "separateButtonholePlacket": { - "t": "Apart knoopsgatenpat", - "d": "Teken een apart knoopsgatenpat." - }, - "separateButtonPlacket": { - "t": "Apart knopenpat", - "d": "Teken een apart knopenpat" - }, - "sleevePlacketLength": { - "t": "Lengte mouwsplit", - "d": "De lengte van het mouwsplit." - }, - "sleevePlacketWidth": { - "t": "Breedte mouwsplit", - "d": "De breedte van het mouwsplit." - }, - "splitYoke": { - "t": "Tweedelige schouderpas", - "d": "Wil je een tweedelige schouderpas?" - }, - "waistEase": { - "t": "Overwijdte taille", - "d": "De hoeveelheid extra ruimte aan je (natuurlijke) taille." - }, - "yokeHeight": { - "t": "Hoogte schouderpas", - "d": "Bepaalt de hoogte van de schouderpas" - } - } -} diff --git a/designs/simon/i18n/uk.json b/designs/simon/i18n/uk.json deleted file mode 100644 index 4a4b43c2206..00000000000 --- a/designs/simon/i18n/uk.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "t": "Simon shirt", - "d": "Simon is a highly adaptable shirt pattern for people without breasts.", - "p": { - "back": "Back", - "buttonholePlacket": "Buttonhole placket", - "buttonPlacket": "Button placket", - "collar": "Collar", - "collarStand": "Collar stand", - "cuff": "Cuff", - "front": "Front", - "frontLeft": "Front left", - "frontRight": "Front right", - "sleevePlacketOverlap": "Sleeve placket overlap", - "sleevePlacketUnderlap": "Sleeve placket underlap", - "sleeve": "Sleeve", - "yoke": "Yoke" - }, - "s": { - "buttonholePlacket": "Buttonhole placket", - "buttonPlacket": "Button placket", - "collarAndUndercollar": "Collar and Undercollar", - "collarStand": "Collar stand", - "cutUndercollarSlightlySmaller": "Cut undercollar slightly smaller", - "frontLeft": "Front left", - "frontRight": "Front right", - "sideOfTheCollarStand": "Side of the collar stand", - "sleevePlacketOverlap": "Sleeve placket overlap", - "sleevePlacketUnderlap": "Sleeve placket underlap", - "yoke": "Yoke", - "matchHere": "Match fabric along this line" - }, - "o": { - "backDarts": { - "t": "Back darts", - "d": "Whether or not to include back darts" - }, - "backDartShaping": { - "t": "Back dart shaping", - "d": "The amount of shaping that is done by the back darts" - }, - "barrelCuffNarrowButton": { - "t": "Cuff narrow button", - "d": "Whether to include a button to tie the cuffs more narrow. This option is only relevant for barrel cuffs." - }, - "boxPleat": { - "t": "Box pleat", - "d": "Whether to include a box pleat at the back or not" - }, - "boxPleatWidth": { - "t": "Box pleat width", - "d": "The total widh of the box pleat" - }, - "boxPleatFold": { - "t": "Box pleat fold", - "d": "The amount by with the box pleat folds inwards" - }, - "buttonPlacketStyle": { - "t": "Button placket style", - "d": "Style of the button placket." - }, - "buttonPlacketWidth": { - "t": "Button placket width", - "d": "Width of the button placket." - }, - "buttonFreeLength": { - "t": "Button free length", - "d": "How much of the bottom of the front closure to keep button-free." - }, - "buttonholePlacketFoldWidth": { - "t": "Buttonhole placket fold width", - "d": "Width of the buttonhole placket fold." - }, - "buttonholePlacketStyle": { - "t": "Buttonhole placket style", - "d": "Style of the buttonhole placket." - }, - "buttonholePlacketWidth": { - "t": "Buttonhole placket width", - "d": "Width of the buttonhole placket." - }, - "buttons": { - "t": "Number of buttons", - "d": "The number of buttons on the front closure." - }, - "collarAngle": { - "t": "Collar angle", - "d": "The angle of the collar tips." - }, - "collarBend": { - "t": "Collar bend", - "d": "The bend of the collar." - }, - "collarFlare": { - "t": "Collar flare", - "d": "The flare of the collar tips." - }, - "collarGap": { - "t": "Collar gap", - "d": "The gap between the the two collar ends." - }, - "collarRoll": { - "t": "Collar roll", - "d": "The amount by which the top collar is larger than the undercollar." - }, - "collarStandBend": { - "t": "Collar stand bend", - "d": "The bend of the collar stand." - }, - "collarStandCurve": { - "t": "Collar stand curve", - "d": "The curve of the collar stand." - }, - "collarStandWidth": { - "t": "Collar stand width", - "d": "Width of the collar stand." - }, - "cuffButtonRows": { - "t": "Cuff button rows", - "d": "Whether to draft a single or double row of cuff buttons. This option is only relevant for barrel cuffs." - }, - "cuffDrape": { - "t": "Cuff drape", - "d": "The amount by which the sleeve is wider than the cuff where the are joined." - }, - "cuffLength": { - "t": "Cuff length", - "d": "The length of the cuffs." - }, - "cuffStyle": { - "t": "Cuff style", - "d": "The style of the cuffs." - }, - "extraTopButton": { - "t": "Extra top button", - "d": "Whether or not to include an extra top button on the front closure." - }, - "ffsa": { - "t": "Flat-felled seam allowace", - "d": "The amount of seam allowance on flet-felled seams as a proportion of the regular seam allowance" - }, - "hemCurve": { - "t": "Hem curve", - "d": "The height of the curve on a curved hem." - }, - "hemStyle": { - "t": "Hem style", - "d": "The style of the shirt hem." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at the hips." - }, - "roundBack": { - "t": "Round back", - "d": "To fit a round(er) back, this adds length to the center back (at the yoke) that tapers of towards the sides." - }, - "separateButtonholePlacket": { - "t": "Separate buttonhole placket", - "d": "Draft a separate buttonhole placket." - }, - "separateButtonPlacket": { - "t": "Separate button placket", - "d": "Draft a separate button placket" - }, - "sleevePlacketLength": { - "t": "Sleeve placket length", - "d": "The length of the sleeve placket." - }, - "sleevePlacketWidth": { - "t": "Sleeve placket width", - "d": "The width of the sleeve placket." - }, - "splitYoke": { - "t": "Split yoke", - "d": "Whether to draft a split or regular yoke." - }, - "waistEase": { - "t": "Waist ease", - "d": "The amount of ease at your (natural) waist." - }, - "yokeHeight": { - "t": "Yoke height", - "d": "Controls the height of the yoke" - } - } -} diff --git a/designs/simon/package.json b/designs/simon/package.json index 65cf9c9e64c..4dbb48bd53e 100644 --- a/designs/simon/package.json +++ b/designs/simon/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/simon", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a button down shirt", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,51 +25,42 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/brian": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1", - "@freesewing/plugin-flip": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/brian": "4.0.0", + "@freesewing/plugin-bust": "4.0.0", + "@freesewing/plugin-flip": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/simon/src/index.mjs b/designs/simon/src/index.mjs index f9fb36cdc37..58c4b7dbc99 100644 --- a/designs/simon/src/index.mjs +++ b/designs/simon/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as simonI18n } from '../i18n/index.mjs' import { back } from './back.mjs' @@ -19,7 +19,7 @@ import { front } from './front.mjs' // Setup our new design const Simon = new Design({ - data, + data: about, parts: [ back, buttonholePlacket, @@ -57,4 +57,5 @@ export { yoke, Simon, i18n, + about, } diff --git a/designs/simon/tests/shared.test.mjs b/designs/simon/tests/shared.test.mjs index 2cd189fc185..b2f23f473d8 100644 --- a/designs/simon/tests/shared.test.mjs +++ b/designs/simon/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Simon, i18n } from '../src/index.mjs' +import { Simon, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Simon) +testPatternConfig(Simon, about) // Test translation testPatternI18n(Simon, i18n) diff --git a/designs/simone/CHANGELOG.md b/designs/simone/CHANGELOG.md index 2d5c172619d..d43637943c7 100644 --- a/designs/simone/CHANGELOG.md +++ b/designs/simone/CHANGELOG.md @@ -1,6 +1,12 @@ # Change log for: @freesewing/simone +## 4.0.0 (2024-04-01) + +### Fixed + + - Added missing translation for various options + ## 3.0.0 (2023-09-30) ### Changed diff --git a/designs/simone/README.md b/designs/simone/README.md index 818a83d638d..8e98922be9f 100644 --- a/designs/simone/README.md +++ b/designs/simone/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:simone - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/simone @@ -59,7 +44,7 @@ A FreeSewing pattern for a button down shirt (Simone = Simon for people wit > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/simone/data.mjs b/designs/simone/data.mjs deleted file mode 100644 index 341d1e3e40a..00000000000 --- a/designs/simone/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/simone' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/simone/i18n/de.json b/designs/simone/i18n/de.json deleted file mode 100644 index 10de3d1dd43..00000000000 --- a/designs/simone/i18n/de.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "t": "Simone, das Hemd", - "d": "Simone ist Simon, angepasst für Menschen mit Brüsten.", - "p": { - "back": "Rückseite", - "buttonholePlacket": "Knopflochleiste", - "buttonPlacket": "Knopfleiste", - "collar": "Kragen", - "collarStand": "Kragensteg", - "cuff": "Manschette", - "fbaFont": "FBA Vorderseite", - "front": "Vorderseite", - "frontLeft": "Vorderseite links", - "frontRight": "Vorderseite rechts", - "sleevePlacketOverlap": "Übertritt der Ärmelleiste", - "sleevePlacketUnderlap": "Untertritt der Ärmelleiste", - "sleeve": "Ärmel", - "yoke": "Passe" - }, - "s": {}, - "o": { - "bustAlignedButtons": { - "t": "Auf Brusthöhe ausgerichtete Knöpfe", - "d": "Optionale Positionierung der Knöpfe, um sicherzugehen, einen Knopf auf Brusthöhe zu platzieren" - }, - "bustDartAngle": { - "t": "Winkel des Brustabnähers", - "d": "Kontrolliert den Winkel, in welchem der (seitliche) Brustabnäher sich nach unten neigt" - }, - "bustDartLength": { - "t": "Länge des Brustabnähers", - "d": "Regelt, wie nahe der Brustabnäher an den Brustpunkt kommt" - }, - "contour": { - "t": "Kontur", - "d": "Legt fest, wie eng anliegend der Schnitt unterhalb der Brust gestaltet wird" - }, - "frontDarts": { - "t": "Vordere Abnäher", - "d": "Legt fest, ob vordere Abnäher im Schnitt eingearbeitet werden sollen" - }, - "frontDartLength": { - "t": "Länge der vorderen Abnäher", - "d": "Legt fest, wie nahe die vorderen Abnäher an den Brustpunkt heranreichen" - } - } -} diff --git a/designs/simone/i18n/es.json b/designs/simone/i18n/es.json deleted file mode 100644 index 7678479e547..00000000000 --- a/designs/simone/i18n/es.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "t": "Simone, camisa", - "d": "Simone es Simón, una patrón de camisa, adaptado para gente con pechos.", - "p": { - "back": "Atrás", - "buttonholePlacket": "Tapeta de ojal", - "buttonPlacket": "Tapeta de botones", - "collar": "Cuello", - "collarStand": "Soporte de collar", - "cuff": "Cuffnl", - "fbaFront": "FBA Frente", - "front": "Frente", - "frontLeft": "Delantero izquierdo", - "frontRight": "Frente derecho", - "sleevePlacketOverlap": "Top de manga tapeta", - "sleevePlacketUnderlap": "Parte inferior de la tapeta de la manga", - "sleeve": "Manga", - "yoke": "Yugo" - }, - "s": {}, - "o": { - "bustAlignedButtons": { - "t": "Bust-aligned buttons", - "d": "Optional button spacing strategies to ensure a button at the bustline" - }, - "bustDartAngle": { - "t": "Ángulo de dardos de polvo", - "d": "Controla el ángulo por el cual el (lado) dardos de polvo tiene pendiente descendente" - }, - "bustDartLength": { - "t": "Longitud del dart del polvo", - "d": "Controla cómo se acerca el polvo al punto de busto" - }, - "contour": { - "t": "Contorno", - "d": "Controla cómo se elimina de nuevo el espacio extra para los senos debajo del cofre" - }, - "frontDarts": { - "t": "Dardos delanteros", - "d": "Incluya o no las artes frontales" - }, - "frontDartLength": { - "t": "Longitud del dart frontal", - "d": "Controla cómo se acerca el dardo frontal al punto de polvo" - } - } -} diff --git a/designs/simone/i18n/fr.json b/designs/simone/i18n/fr.json deleted file mode 100644 index f655474eace..00000000000 --- a/designs/simone/i18n/fr.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "t": "Chemise Simone", - "d": "Simone est Simon, adapté pour les poitrines avec seins.", - "p": { - "back": "Retour", - "buttonholePlacket": "Patte de boutonnière", - "buttonPlacket": "Patte de boutonnage", - "collar": "Collier", - "collarStand": "Support de collier", - "cuff": "Manchette", - "fbaFront": "FBA Avant", - "front": "Avant", - "frontLeft": "Avant gauche", - "frontRight": "Avant droit", - "sleevePlacketOverlap": "Patte de manche haut", - "sleevePlacketUnderlap": "Patte de manche bas", - "yoke": "Empiècement" - }, - "s": {}, - "o": { - "bustAlignedButtons": { - "t": "Boutons alignés sur le buste", - "d": "Stratégies optionnelles d'espacement des boutons pour assurer un bouton au niveau de la ligne de buste" - }, - "bustDartAngle": { - "t": "Angle des pinces poitrine", - "d": "Contrôle l'angle par lequel la pince poitrine (sur le côté) s'incline vers le bas" - }, - "bustDartLength": { - "t": "Longueur des pinces poitrine", - "d": "Contrôle à quel point la pince poitrine sera proche de l'apex du buste (la pointe des seins)" - }, - "contour": { - "t": "Angle des découpes princesses", - "d": "Contrôle à quel point le volume sera réduit sous les seins" - }, - "frontDarts": { - "t": "Pinces de taille", - "d": "Inclure ou non des pinces de taille" - }, - "frontDartLength": { - "t": "Longueur des pinces de taille", - "d": "Contrôle à quel point la pince de taille sera proche de l'apex du buste (la pointe des seins)" - } - } -} diff --git a/designs/simone/i18n/index.mjs b/designs/simone/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/simone/i18n/index.mjs +++ b/designs/simone/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/simone/i18n/nl.json b/designs/simone/i18n/nl.json deleted file mode 100644 index bb3e4ae509f..00000000000 --- a/designs/simone/i18n/nl.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "t": "Simone hemd", - "d": "Simone is simon, aangepast aan borsten.", - "p": { - "back": "Achterzijde", - "buttonholePlacket": "Knoopsgatenpat", - "buttonPlacket": "Knopenpat", - "collar": "Kraag", - "collarStand": "Kraagstaander", - "cuff": "Manchet", - "front": "FBA Voorzijde", - "frontLeft": "Voorzijde links", - "frontRight": "Voorzijde rechts", - "sleevePlacketOverlap": "Mouwsplit boven", - "sleevePlacketUnderlap": "Mouwsplit onder", - "sleeve": "Mouw", - "yoke": "Schouderpas" - }, - "s": {}, - "o": { - "bustAlignedButtons": { - "t": "Bust-aligned buttons", - "d": "Optional button spacing strategies to ensure a button at the bustline" - }, - "bustDartAngle": { - "t": "Hoek busteneep", - "d": "Bepaalt de hoek waarin de busteneep vanuit de zijnaad naar beneden wijst" - }, - "bustDartLength": { - "t": "Lengte busteneep", - "d": "Bepaalt hoe dicht de punt van de busteneep bij het bustepunt komt" - }, - "contour": { - "t": "Contour", - "d": "Bepaalt in hoeverre de extra ruimte voor borsten onder de buste verwijderd wordt" - }, - "frontDarts": { - "t": "Nepen voor", - "d": "Of je vooraan nepen wil of niet" - }, - "frontDartLength": { - "t": "Lengte nepen voor", - "d": "Bepaalt hoe dicht de punt van de voorste neep bij het bustepunt komt" - } - } -} diff --git a/designs/simone/i18n/uk.json b/designs/simone/i18n/uk.json deleted file mode 100644 index 3ce043f279b..00000000000 --- a/designs/simone/i18n/uk.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "t": "Simone shirt", - "d": "Simone is simon, adapted for breasts.", - "p": { - "back": "Back", - "buttonholePlacket": "Buttonhole placket", - "buttonPlacket": "Button placket", - "collar": "Collar", - "collarStand": "Collar stand", - "cuff": "Cuff", - "fbaFront": "FBA Front", - "front": "Front", - "frontLeft": "Front left", - "frontRight": "Front right", - "sleevePlacketOverlap": "Sleeve placket overlap", - "sleevePlacketUnderlap": "Sleeve placket underlap", - "sleeve": "Sleeve", - "yoke": "Yoke" - }, - "s": {}, - "o": { - "bustAlignedButtons": { - "t": "Bust-aligned buttons", - "d": "Optional button spacing strategies to ensure a button at the bustline" - }, - "bustDartAngle": { - "t": "Bust dart angle", - "d": "Controls the angle by which the (side) bust dart slopes downward" - }, - "bustDartLength": { - "t": "Bust dart length", - "d": "Controls how close the bust dart approaches the bust point" - }, - "contour": { - "t": "Contour", - "d": "Controls how sharply the extra room for breasts is removed again below the chest" - }, - "frontDarts": { - "t": "Front darts", - "d": "Whether to include front darts or not" - }, - "frontDartLength": { - "t": "Front dart length", - "d": "Controls how close the front dart approaches the bust point" - } - } -} diff --git a/designs/simone/package.json b/designs/simone/package.json index 54dd6c46821..82de3c1589e 100644 --- a/designs/simone/package.json +++ b/designs/simone/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/simone", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a button down shirt (Simone = Simon for people with breasts)", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,52 +25,43 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/brian": "3.3.0-rc.1", - "@freesewing/simon": "3.3.0-rc.1", - "@freesewing/plugin-flip": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/brian": "4.0.0", + "@freesewing/simon": "4.0.0", + "@freesewing/plugin-flip": "4.0.0", + "@freesewing/plugin-bust": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/simone/src/index.mjs b/designs/simone/src/index.mjs index 9596e72f465..f92bf692909 100644 --- a/designs/simone/src/index.mjs +++ b/designs/simone/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as simonI18n } from '@freesewing/simon' import { i18n as simoneI18n } from '../i18n/index.mjs' import { @@ -41,7 +41,7 @@ const frontLeft = { // Setup our new design const Simone = new Design({ - data, + data: about, parts: [ fbaFront, back, @@ -79,4 +79,5 @@ export { frontLeft, Simone, i18n, + about, } diff --git a/designs/simone/tests/shared.test.mjs b/designs/simone/tests/shared.test.mjs index 78ea338763c..3adf74487c2 100644 --- a/designs/simone/tests/shared.test.mjs +++ b/designs/simone/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Simone, i18n } from '../src/index.mjs' +import { Simone, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Simone) +testPatternConfig(Simone, about) // Test translation testPatternI18n(Simone, i18n) diff --git a/designs/skully/README.md b/designs/skully/README.md index b9589be02af..40723513a83 100644 --- a/designs/skully/README.md +++ b/designs/skully/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:skully - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/skully @@ -59,7 +44,7 @@ A FreeSewing pattern for skully, our logo, a plushy toy > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/skully/data.mjs b/designs/skully/data.mjs deleted file mode 100644 index 2943d2f35f2..00000000000 --- a/designs/skully/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/skully' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/skully/i18n/de.json b/designs/skully/i18n/de.json deleted file mode 100644 index cf2665157a0..00000000000 --- a/designs/skully/i18n/de.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "t": "Skully logo plush toy", - "d": "A FreeSewing pattern for skully, our logo, a plushy toy.", - "p": { - "cheek": "Cheek", - "cheekbone": "Cheekbone", - "eye": "Eye", - "forehead": "Forehead", - "head1": "Head1", - "head2": "Head2", - "head3": "Head3", - "jawfloor": "Jawfloor", - "lowerjaw": "Lowerjaw", - "lowermouth": "Lowermouth", - "nose": "Nose", - "uppermouth": "Uppermouth" - }, - "s": { - "cheek": "Cheek", - "cheekbone": "Cheekbone", - "eye": "Eye", - "forehead": "Forehead", - "head1": "Head1", - "head2": "Head2", - "head3": "Head3", - "jawfloor": "Jawfloor", - "lowerjaw": "Lowerjaw", - "lowermouth": "Lowermouth", - "nose": "Nose", - "uppermouth": "Uppermouth" - }, - "o": { - "size": { - "t": "Size", - "d": "Controls the overall size (value shown is the size of the head)" - } - } -} diff --git a/designs/skully/i18n/es.json b/designs/skully/i18n/es.json deleted file mode 100644 index cf2665157a0..00000000000 --- a/designs/skully/i18n/es.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "t": "Skully logo plush toy", - "d": "A FreeSewing pattern for skully, our logo, a plushy toy.", - "p": { - "cheek": "Cheek", - "cheekbone": "Cheekbone", - "eye": "Eye", - "forehead": "Forehead", - "head1": "Head1", - "head2": "Head2", - "head3": "Head3", - "jawfloor": "Jawfloor", - "lowerjaw": "Lowerjaw", - "lowermouth": "Lowermouth", - "nose": "Nose", - "uppermouth": "Uppermouth" - }, - "s": { - "cheek": "Cheek", - "cheekbone": "Cheekbone", - "eye": "Eye", - "forehead": "Forehead", - "head1": "Head1", - "head2": "Head2", - "head3": "Head3", - "jawfloor": "Jawfloor", - "lowerjaw": "Lowerjaw", - "lowermouth": "Lowermouth", - "nose": "Nose", - "uppermouth": "Uppermouth" - }, - "o": { - "size": { - "t": "Size", - "d": "Controls the overall size (value shown is the size of the head)" - } - } -} diff --git a/designs/skully/i18n/fr.json b/designs/skully/i18n/fr.json deleted file mode 100644 index cf2665157a0..00000000000 --- a/designs/skully/i18n/fr.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "t": "Skully logo plush toy", - "d": "A FreeSewing pattern for skully, our logo, a plushy toy.", - "p": { - "cheek": "Cheek", - "cheekbone": "Cheekbone", - "eye": "Eye", - "forehead": "Forehead", - "head1": "Head1", - "head2": "Head2", - "head3": "Head3", - "jawfloor": "Jawfloor", - "lowerjaw": "Lowerjaw", - "lowermouth": "Lowermouth", - "nose": "Nose", - "uppermouth": "Uppermouth" - }, - "s": { - "cheek": "Cheek", - "cheekbone": "Cheekbone", - "eye": "Eye", - "forehead": "Forehead", - "head1": "Head1", - "head2": "Head2", - "head3": "Head3", - "jawfloor": "Jawfloor", - "lowerjaw": "Lowerjaw", - "lowermouth": "Lowermouth", - "nose": "Nose", - "uppermouth": "Uppermouth" - }, - "o": { - "size": { - "t": "Size", - "d": "Controls the overall size (value shown is the size of the head)" - } - } -} diff --git a/designs/skully/i18n/index.mjs b/designs/skully/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/skully/i18n/index.mjs +++ b/designs/skully/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/skully/i18n/nl.json b/designs/skully/i18n/nl.json deleted file mode 100644 index cf2665157a0..00000000000 --- a/designs/skully/i18n/nl.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "t": "Skully logo plush toy", - "d": "A FreeSewing pattern for skully, our logo, a plushy toy.", - "p": { - "cheek": "Cheek", - "cheekbone": "Cheekbone", - "eye": "Eye", - "forehead": "Forehead", - "head1": "Head1", - "head2": "Head2", - "head3": "Head3", - "jawfloor": "Jawfloor", - "lowerjaw": "Lowerjaw", - "lowermouth": "Lowermouth", - "nose": "Nose", - "uppermouth": "Uppermouth" - }, - "s": { - "cheek": "Cheek", - "cheekbone": "Cheekbone", - "eye": "Eye", - "forehead": "Forehead", - "head1": "Head1", - "head2": "Head2", - "head3": "Head3", - "jawfloor": "Jawfloor", - "lowerjaw": "Lowerjaw", - "lowermouth": "Lowermouth", - "nose": "Nose", - "uppermouth": "Uppermouth" - }, - "o": { - "size": { - "t": "Size", - "d": "Controls the overall size (value shown is the size of the head)" - } - } -} diff --git a/designs/skully/i18n/uk.json b/designs/skully/i18n/uk.json deleted file mode 100644 index 4fdd6b0ccc3..00000000000 --- a/designs/skully/i18n/uk.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "t": "Skully logo plush toy", - "d": "A FreeSewing pattern for skully, our logo, a plushy toy.", - "p": { - "cheek": "Cheek", - "cheekbone": "Cheekbone", - "eye": "Eye", - "forehead": "Forehead", - "head1": "Head part 1", - "head2": "Head part 2", - "head3": "Head part 3", - "jawfloor": "Jaw floor", - "lowerjaw": "Lower Jaw", - "lowermouth": "Lower Mouth", - "nose": "Nose", - "uppermouth": "Upper Mouth" - }, - "s": {}, - "o": { - "size": { - "t": "Size", - "d": "Controls the overall size (value shown is the resulting height of Skully)" - } - } -} diff --git a/designs/skully/package.json b/designs/skully/package.json index f773a8e1842..6ebd1e07e61 100644 --- a/designs/skully/package.json +++ b/designs/skully/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/skully", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for skully, our logo, a plushy toy", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/skully/src/index.mjs b/designs/skully/src/index.mjs index 9eb42512ed7..ea05e9dbe91 100644 --- a/designs/skully/src/index.mjs +++ b/designs/skully/src/index.mjs @@ -1,6 +1,6 @@ // Skully import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } // Parts import { cheek } from './cheek.mjs' import { cheekbone } from './cheekbone.mjs' @@ -19,7 +19,7 @@ import { i18n } from '../i18n/index.mjs' // Create new design const Skully = new Design({ - data, + data: about, parts: [ cheek, cheekbone, @@ -52,4 +52,5 @@ export { uppermouth, Skully, i18n, + about, } diff --git a/designs/skully/tests/shared.test.mjs b/designs/skully/tests/shared.test.mjs index 1d350371b46..8e39fd60452 100644 --- a/designs/skully/tests/shared.test.mjs +++ b/designs/skully/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Skully, i18n } from '../src/index.mjs' +import { Skully, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Skully) +testPatternConfig(Skully, about) // Test translation testPatternI18n(Skully, i18n) diff --git a/designs/sven/README.md b/designs/sven/README.md index 66959f052b9..8dd8a44690d 100644 --- a/designs/sven/README.md +++ b/designs/sven/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:sven - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/sven @@ -59,7 +44,7 @@ A FreeSewing pattern for a straightforward sweater > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/sven/data.mjs b/designs/sven/data.mjs deleted file mode 100644 index 7eb1775ae6c..00000000000 --- a/designs/sven/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/sven' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/sven/i18n/de.json b/designs/sven/i18n/de.json deleted file mode 100644 index c0e6c8c8f12..00000000000 --- a/designs/sven/i18n/de.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "t": "Sven, der Pullover", - "d": "Sven ist ein einfacher Pullover.", - "p": { - "back": "Rückseite", - "cuff": "Manschette", - "front": "Vorderseite", - "sleeve": "Ärmel", - "waistband": "Bund" - }, - "s": {}, - "o": { - "hipsEase": { - "t": "Zugabe Hüfte", - "d": "Steuert die Menge an Zugabe an deinen Hüften (am unteren Ende des Pullovers)" - }, - "ribbing": { - "t": "Bündchen", - "d": "Ob Saum und Manschetten mit Bündchen abschließen oder nicht." - }, - "ribbingHeight": { - "t": "Bündchen-Höhe", - "d": "Die Höhe der Bündchen" - }, - "ribbingStretch": { - "t": "Bündchen-Elastizität", - "d": "Die Menge an negativer Zugabe für die an Manschetten und Saum verwendeten Bündchen." - } - } -} diff --git a/designs/sven/i18n/es.json b/designs/sven/i18n/es.json deleted file mode 100644 index 73112b70b0e..00000000000 --- a/designs/sven/i18n/es.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "t": "Sven, sudadera", - "d": "Sven es una sudadera de líneas sencillas.", - "p": { - "back": "Atrás", - "cuff": "Cuffnl", - "front": "Frente", - "sleeve": "Manga", - "waistband": "Pretina" - }, - "s": {}, - "o": { - "hipsEase": { - "t": "Holgura de cadera", - "d": "Controla la cantidad de holgura en las caderas (en la parte de abajo de la sudadera)" - }, - "ribbing": { - "t": "Tejido acanalado", - "d": "Ya sea para terminar el dobladillo y los puños con tejido acanalado." - }, - "ribbingHeight": { - "t": "Altura de tejido acanalado", - "d": "La altura del tejido acanalado en los puños y el dobladillo." - }, - "ribbingStretch": { - "t": "Extensión de tejido acanalado", - "d": "La cantidad de holgura negativa de tejido acanalado." - } - } -} diff --git a/designs/sven/i18n/fr.json b/designs/sven/i18n/fr.json deleted file mode 100644 index c95e865853d..00000000000 --- a/designs/sven/i18n/fr.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "t": "Sweat Sven", - "d": "Sven est un sweat simple.", - "p": { - "back": "Retour", - "cuff": "Manchette", - "front": "Avant", - "sleeve": "Manche", - "waistband": "Ceinture" - }, - "s": {}, - "o": { - "hipsEase": { - "t": "Aisance des hanches", - "d": "Contrôle la quantité d'aisance à vos hanches (au bas du sweat)" - }, - "ribbing": { - "t": "Bord côte", - "d": "Faut-il finir l'ourlet et les poignets avec un tissu pour bordures" - }, - "ribbingHeight": { - "t": "Hauteur de bord côte", - "d": "La hauteur du tissu pour le bord côte sur les poignets et le bas du sweat." - }, - "ribbingStretch": { - "t": "Élasticité du bord côte", - "d": "L'élasticité du bord côte sur les poignets et le bas." - } - } -} diff --git a/designs/sven/i18n/index.mjs b/designs/sven/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/sven/i18n/index.mjs +++ b/designs/sven/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/sven/i18n/nl.json b/designs/sven/i18n/nl.json deleted file mode 100644 index 634007665dd..00000000000 --- a/designs/sven/i18n/nl.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "t": "Sven sweater", - "d": "Sven is een no-nonsense basic trui.", - "p": { - "back": "Achterzijde", - "cuff": "Manchet", - "front": "Voorzijde", - "sleeve": "Mouw", - "waistband": "Tailleband" - }, - "s": {}, - "o": { - "hipsEase": { - "t": "Overwijdte heup", - "d": "Controls the amount of ease at your hips (the bottom of the sweater)" - }, - "ribbing": { - "t": "Boordstof", - "d": "Of we boordstof plaatsen aan de zoom en manchetten of niet." - }, - "ribbingHeight": { - "t": "Hoogte boord", - "d": "De hoogte van de boordstof aan zoom en manchetten." - }, - "ribbingStretch": { - "t": "Stretch boordstof", - "d": "De hoeveelheid stretch in de boordstof voor zoom en manchetten." - } - } -} diff --git a/designs/sven/i18n/uk.json b/designs/sven/i18n/uk.json deleted file mode 100644 index 1d9a7a40edf..00000000000 --- a/designs/sven/i18n/uk.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "t": "Sven sweatshirt", - "d": "Sven is a straightforward sweater.", - "p": { - "back": "Back", - "cuff": "Cuff", - "front": "Front", - "sleeve": "Sleeve", - "waistband": "Waistband" - }, - "s": {}, - "o": { - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at your hips (the bottom of the sweater)" - }, - "ribbing": { - "t": "Ribbing", - "d": "Whether to finish the hem and cuffs with ribbing or not." - }, - "ribbingHeight": { - "t": "Ribbing height", - "d": "The height of the ribbing on cuffs and hem." - }, - "ribbingStretch": { - "t": "Ribbing stretch", - "d": "The amount of negative ease to apply to the ribbing used for cuffs and hem." - } - } -} diff --git a/designs/sven/package.json b/designs/sven/package.json index c9d3c114cab..dcbe43f1d49 100644 --- a/designs/sven/package.json +++ b/designs/sven/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/sven", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a straightforward sweater", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,50 +25,41 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/brian": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/brian": "4.0.0", + "@freesewing/plugin-bust": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/sven/src/frontback.mjs b/designs/sven/src/frontback.mjs index 3d24f65f6e3..477f6051143 100644 --- a/designs/sven/src/frontback.mjs +++ b/designs/sven/src/frontback.mjs @@ -1,5 +1,5 @@ import { front as brianFront, back as brianBack } from '@freesewing/brian' -import { hidePresets } from '@freesewing/core' +import { hidePresets, pctBasedOn } from '@freesewing/core' function svenFrontBack({ store, @@ -156,11 +156,11 @@ function svenFrontBack({ } const measurements = ['hips', 'waist'] -export const hipsEase = { pct: 8, min: -4, max: 20, menu: 'fit' } +export const hipsEase = { pct: 8, min: -4, max: 20, ...pctBasedOn('hips'), menu: 'fit' } export const ribbing = { bool: true, menu: 'style' } const options = { waistEase: 0.08, - collarEase: { pct: 10, min: 5, max: 30, menu: 'fit' }, + collarEase: { pct: 10, min: 5, max: 30, ...pctBasedOn('neck'), menu: 'fit' }, lengthBonus: { pct: 15, min: 0, max: 30, menu: 'style' }, sleeveLengthBonus: { pct: 3, min: 0, max: 10, menu: 'style' }, ribbingHeight: { pct: 8, min: 3, max: 15, menu: 'style' }, diff --git a/designs/sven/src/index.mjs b/designs/sven/src/index.mjs index ed8981b9a0c..5c88d71915e 100644 --- a/designs/sven/src/index.mjs +++ b/designs/sven/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as svenI18n } from '../i18n/index.mjs' import { front, back } from './frontback.mjs' @@ -9,7 +9,7 @@ import { waistband } from './waistband.mjs' // Setup our new design const Sven = new Design({ - data, + data: about, parts: [front, back, sleeve, cuff, waistband], }) @@ -17,4 +17,4 @@ const Sven = new Design({ const i18n = mergeI18n([brianI18n, svenI18n]) // Named exports -export { front, back, sleeve, cuff, waistband, Sven, i18n } +export { front, back, sleeve, cuff, waistband, Sven, i18n, about } diff --git a/designs/sven/src/sleeve.mjs b/designs/sven/src/sleeve.mjs index 0effd378c76..685c7c5eb78 100644 --- a/designs/sven/src/sleeve.mjs +++ b/designs/sven/src/sleeve.mjs @@ -1,6 +1,6 @@ import { sleeve as brianSleeve } from '@freesewing/brian' import { ribbing, front, back } from './frontback.mjs' -import { hidePresets } from '@freesewing/core' +import { hidePresets, pctBasedOn } from '@freesewing/core' function svenSleeve({ store, sa, points, paths, Path, macro, options, part }) { if (options.ribbing) { @@ -83,7 +83,7 @@ export const sleeve = { after: [front, back], options: { ribbing, - cuffEase: { pct: 20, min: 0, max: 200, menu: 'fit' }, + cuffEase: { pct: 20, min: 0, max: 200, ...pctBasedOn('wrist'), menu: 'fit' }, }, draft: svenSleeve, } diff --git a/designs/sven/tests/shared.test.mjs b/designs/sven/tests/shared.test.mjs index ca6d885d50b..fb2dde4eba5 100644 --- a/designs/sven/tests/shared.test.mjs +++ b/designs/sven/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Sven, i18n } from '../src/index.mjs' +import { Sven, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Sven) +testPatternConfig(Sven, about) // Test translation testPatternI18n(Sven, i18n) diff --git a/designs/tamiko/CHANGELOG.md b/designs/tamiko/CHANGELOG.md index d104bb5948b..524b386ab2e 100644 --- a/designs/tamiko/CHANGELOG.md +++ b/designs/tamiko/CHANGELOG.md @@ -1,6 +1,12 @@ # Change log for: @freesewing/tamiko +## 4.0.0 (2024-04-01) + +### Changed + + - Always load plugin-bust due to its changes in how it handle conditionality. + ## 3.0.0 (2023-09-30) ### Changed diff --git a/designs/tamiko/README.md b/designs/tamiko/README.md index ad7cd8f7379..a348e1a847c 100644 --- a/designs/tamiko/README.md +++ b/designs/tamiko/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:tamiko - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/tamiko @@ -59,7 +44,7 @@ A FreeSewing pattern for a zero-waste top > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/tamiko/data.mjs b/designs/tamiko/data.mjs deleted file mode 100644 index ee14a52ac3c..00000000000 --- a/designs/tamiko/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/tamiko' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/tamiko/i18n/de.json b/designs/tamiko/i18n/de.json deleted file mode 100644 index 75fb3bd3c3e..00000000000 --- a/designs/tamiko/i18n/de.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "t": "Tamiko, das Top", - "d": "Tamiko ist ein Zero-Waste Top.", - "p": { - "top": "Oberteil" - }, - "s": {}, - "o": { - "flare": { - "t": "Ausstellen", - "d": "Die Menge, um die sich das Kleidungsstück von der Brust nach unten ausgestellt wird" - }, - "shoulderseamLength": { - "t": "Schulternahtlänge", - "d": "Die Länge der Schulternaht als Faktor deines Schulter-zu-Schulter-Maßes" - }, - "shoulderSlope": { - "t": "Schulterneigung", - "d": "Steuert den Winkel der Schulternähte" - }, - "armholeDepthFactor": { - "t": "Armhole depth factor", - "d": "Controls the depth of your armhole, as a factor of your shoulder to shoulder measurement." - }, - "chestEase": { - "t": "Chest ease", - "d": "The amount of ease at your chest." - }, - "lengthBonus": { - "t": "Length bonus", - "d": "How much longer than the default length to make your top." - }, - "draftForHighBust": { - "t": "Draft for high bust", - "d": "Draft the pattern for the high bust measurement (if available) rather than the (full) chest. This will result in a more fitted garment for people with breasts." - } - } -} diff --git a/designs/tamiko/i18n/es.json b/designs/tamiko/i18n/es.json deleted file mode 100644 index ba12b0bb47b..00000000000 --- a/designs/tamiko/i18n/es.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "t": "Tamiko top", - "d": "Tamiko es un top cero residuos (zero-waste).", - "p": { - "top": "Arriba" - }, - "s": {}, - "o": { - "flare": { - "t": "Ensanchamiento", - "d": "La cantidad por la cual la prenda se ensancha desde tu pecho hacia abajo." - }, - "shoulderseamLength": { - "t": "Longitud de la costura de hombro", - "d": "La longitud de la costura del hombro, como un factor de la medida de su hombro a hombro." - }, - "shoulderSlope": { - "t": "Inclinación de hombro", - "d": "Controla el ángulo de las costuras del hombro" - }, - "armholeDepthFactor": { - "t": "Armhole depth factor", - "d": "Controls the depth of your armhole, as a factor of your shoulder to shoulder measurement." - }, - "chestEase": { - "t": "Chest ease", - "d": "The amount of ease at your chest." - }, - "lengthBonus": { - "t": "Length bonus", - "d": "How much longer than the default length to make your top." - }, - "draftForHighBust": { - "t": "Draft for high bust", - "d": "Draft the pattern for the high bust measurement (if available) rather than the (full) chest. This will result in a more fitted garment for people with breasts." - } - } -} diff --git a/designs/tamiko/i18n/fr.json b/designs/tamiko/i18n/fr.json deleted file mode 100644 index 489200567e0..00000000000 --- a/designs/tamiko/i18n/fr.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "t": "Top Tamiko", - "d": "Tamiko est un top zéro déchet.", - "p": { - "top": "Haut" - }, - "s": {}, - "o": { - "flare": { - "t": "Évasement", - "d": "La quantité par laquelle le vêtement s'évase de votre poitrine vers le bas" - }, - "shoulderseamLength": { - "t": "Longueur de couture d'épaule", - "d": "La longueur de la couture d'épaule, en tant que facteur de la mesure d'épaule à épaule" - }, - "shoulderSlope": { - "t": "Pente d'épaule", - "d": "Contrôle l'angle des coutures d'épaule" - }, - "armholeDepthFactor": { - "t": "Armhole depth factor", - "d": "Controls the depth of your armhole, as a factor of your shoulder to shoulder measurement." - }, - "chestEase": { - "t": "Chest ease", - "d": "The amount of ease at your chest." - }, - "lengthBonus": { - "t": "Length bonus", - "d": "How much longer than the default length to make your top." - }, - "draftForHighBust": { - "t": "Draft for high bust", - "d": "Draft the pattern for the high bust measurement (if available) rather than the (full) chest. This will result in a more fitted garment for people with breasts." - } - } -} diff --git a/designs/tamiko/i18n/index.mjs b/designs/tamiko/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/tamiko/i18n/index.mjs +++ b/designs/tamiko/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/tamiko/i18n/nl.json b/designs/tamiko/i18n/nl.json deleted file mode 100644 index d1703cef0ec..00000000000 --- a/designs/tamiko/i18n/nl.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "t": "Tamiko top", - "d": "Tamiko is een top die geen stof verspilt.", - "p": { - "top": "Top" - }, - "s": {}, - "o": { - "flare": { - "t": "Waaier", - "d": "De mate waarin het kledingstuk van je borst naar beneden uitwaaierd" - }, - "shoulderseamLength": { - "t": "Lengte schoudernaad", - "d": "De lengte van de schoudernaad, als een factor van je schouder tot schouder maat" - }, - "shoulderSlope": { - "t": "Schouderhelling", - "d": "Bepaalt de hoek van de schoudernaden" - }, - "armholeDepthFactor": { - "t": "Armhole depth factor", - "d": "Controls the depth of your armhole, as a factor of your shoulder to shoulder measurement." - }, - "chestEase": { - "t": "Chest ease", - "d": "The amount of ease at your chest." - }, - "lengthBonus": { - "t": "Length bonus", - "d": "How much longer than the default length to make your top." - }, - "draftForHighBust": { - "t": "Draft for high bust", - "d": "Draft the pattern for the high bust measurement (if available) rather than the (full) chest. This will result in a more fitted garment for people with breasts." - } - } -} diff --git a/designs/tamiko/i18n/uk.json b/designs/tamiko/i18n/uk.json deleted file mode 100644 index c83bc48c2ef..00000000000 --- a/designs/tamiko/i18n/uk.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "t": "Tamiko top", - "d": "Tamiko is a zero-waste top.", - "p": { - "top": "Top" - }, - "s": {}, - "o": { - "flare": { - "t": "Flare", - "d": "The amount by which the garment flares from your chest downwards" - }, - "shoulderseamLength": { - "t": "Shoulder seam length", - "d": "The length of the shoulder seam, as a factor of your shoulder to shoulder measurement" - }, - "armholeDepthFactor": { - "t": "Armhole depth factor", - "d": "Controls the depth of your armhole, as a factor of your shoulder to shoulder measurement." - }, - "chestEase": { - "t": "Chest ease", - "d": "The amount of ease at your chest." - }, - "lengthBonus": { - "t": "Length bonus", - "d": "How much longer than the default length to make your top." - }, - "draftForHighBust": { - "t": "Draft for high bust", - "d": "Draft the pattern for the high bust measurement (if available) rather than the (full) chest. This will result in a more fitted garment for people with breasts." - } - } -} diff --git a/designs/tamiko/package.json b/designs/tamiko/package.json index 7d07b55ece2..26b11ef3075 100644 --- a/designs/tamiko/package.json +++ b/designs/tamiko/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/tamiko", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a zero-waste top", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,49 +25,40 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/plugin-bust": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/tamiko/src/index.mjs b/designs/tamiko/src/index.mjs index 1169ff39bc2..9c4747e09fa 100644 --- a/designs/tamiko/src/index.mjs +++ b/designs/tamiko/src/index.mjs @@ -1,13 +1,13 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { top } from './top.mjs' // Setup our new design const Tamiko = new Design({ - data, + data: about, parts: [top], }) // Named exports -export { top, Tamiko, i18n } +export { top, Tamiko, i18n, about } diff --git a/designs/tamiko/src/top.mjs b/designs/tamiko/src/top.mjs index 6371ad2c1d8..6dfd9d5f855 100644 --- a/designs/tamiko/src/top.mjs +++ b/designs/tamiko/src/top.mjs @@ -1,4 +1,5 @@ import { bustPlugin } from '@freesewing/plugin-bust' +import { pctBasedOn } from '@freesewing/core' function tamikoTop({ sa, @@ -214,7 +215,7 @@ export const top = { optionalMeasurements: ['highBust'], options: { armholeDepthFactor: { pct: 50, min: 40, max: 60, menu: 'fit' }, - chestEase: { pct: 2, min: 1, max: 20, menu: 'fit' }, + chestEase: { pct: 2, min: 1, max: 20, ...pctBasedOn('chest'), menu: 'fit' }, flare: { deg: 15, min: -10, max: 30, menu: 'style' }, lengthBonus: { pct: 13, min: 0, max: 60, menu: 'style' }, shoulderseamLength: { pct: 10, min: 5, max: 25, menu: 'style' }, diff --git a/designs/tamiko/tests/shared.test.mjs b/designs/tamiko/tests/shared.test.mjs index 82ed6070656..fbfc6157f8f 100644 --- a/designs/tamiko/tests/shared.test.mjs +++ b/designs/tamiko/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Tamiko, i18n } from '../src/index.mjs' +import { Tamiko, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Tamiko) +testPatternConfig(Tamiko, about) // Test translation testPatternI18n(Tamiko, i18n) diff --git a/designs/teagan/CHANGELOG.md b/designs/teagan/CHANGELOG.md index 6e214b604b7..f7fb77ddbc8 100644 --- a/designs/teagan/CHANGELOG.md +++ b/designs/teagan/CHANGELOG.md @@ -1,6 +1,16 @@ # Change log for: @freesewing/teagan +## 4.0.0 (2024-04-01) + +### Changed + + - Increased default lengthBonus from 5% to 15%. Fixes + +### Fixed + + - Fix side seam when length is cropped. Fixes + ## 3.0.0 (2023-09-30) ### Changed diff --git a/designs/teagan/README.md b/designs/teagan/README.md index 7a7213f6080..8c9f60c5d23 100644 --- a/designs/teagan/README.md +++ b/designs/teagan/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:teagan - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/teagan @@ -59,7 +44,7 @@ A FreeSewing pattern for a T-shirt > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/teagan/data.mjs b/designs/teagan/data.mjs deleted file mode 100644 index 14d159bfdd6..00000000000 --- a/designs/teagan/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/teagan' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/teagan/i18n/de.json b/designs/teagan/i18n/de.json deleted file mode 100644 index 6aa01adedfc..00000000000 --- a/designs/teagan/i18n/de.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Teagan, das T-Shirt", - "d": "Teagan ist ein Schnittmuster für ein passgenaues T-Shirt.", - "p": { - "back": "Rückseite", - "front": "Vorderseite", - "sleeve": "Ärmel" - }, - "s": { - "fullLengthFromHps": "Volle Länge (vom höchsten Schulterpunkt)" - }, - "o": { - "draftForHighBust": { - "t": "Entwurf für hohe Büste", - "d": "Zeichnen Sie das Muster für die hohe Büstenmessung (falls vorhanden) statt der (vollen) Truhe. Dies wird zu einem besser angepassten Kleidungsstück für Brustkleidung führen." - }, - "sleeveEase": { - "t": "Bequemlichkeitszugabe Ärmel", - "d": "Größe der Bequemlichkeitszugabe an den Ärmeln" - }, - "sleeveLength": { - "t": "Ärmellänge", - "d": "Steuert die Länge deiner Ärmel" - }, - "necklineBend": { - "t": "Krümmung Halsausschnitt", - "d": "Steuert die Krümmung des Halsausschnitts." - }, - "necklineDepth": { - "t": "Ausschnitttiefe", - "d": "Steuert, wie tief der Halsausschnitt fällt." - }, - "necklineWidth": { - "t": "Ausschnittbreite", - "d": "Steuert die Breite des Halsausschnitts." - }, - "curveToWaist": { - "t": "Fit the waist", - "d": "Whether or not to fit the waist or rahter only fit chest and hips." - }, - "curvedWaistEase": { - "t": "Waist ease", - "d": "Ease at the waist (only applies when the waist is fitted)." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Ease at the hips." - } - } -} diff --git a/designs/teagan/i18n/es.json b/designs/teagan/i18n/es.json deleted file mode 100644 index 381ab9391b8..00000000000 --- a/designs/teagan/i18n/es.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Teagan, camiseta", - "d": "Teagan es un patrón de camiseta entallada.", - "p": { - "back": "Atrás", - "front": "Frente", - "sleeve": "Manga" - }, - "s": { - "fullLengthFromHps": "Longitud completa (de HPS)" - }, - "o": { - "draftForHighBust": { - "t": "Borrador para alta caída", - "d": "Borra el patrón para la medición alta del polvo (si está disponible) en lugar del cofre (completo). Esto dará lugar a una prenda más ajustada para las personas con senos." - }, - "sleeveEase": { - "t": "Manga fácil", - "d": "Cantidad de facilidad de sus mangas" - }, - "sleeveLength": { - "t": "Longitud de la manga", - "d": "Controla la longitud de las mangas" - }, - "necklineBend": { - "t": "Curvatura neckline", - "d": "Controla la curvatura del cuello." - }, - "necklineDepth": { - "t": "Profundidad del cuello", - "d": "Controla la profundidad de la abertura del cuello." - }, - "necklineWidth": { - "t": "Neckline width", - "d": "Controla el ancho de la abertura del cuello." - }, - "curveToWaist": { - "t": "Fit the waist", - "d": "Whether or not to fit the waist or rahter only fit chest and hips." - }, - "curvedWaistEase": { - "t": "Waist ease", - "d": "Ease at the waist (only applies when the waist is fitted)." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Ease at the hips." - } - } -} diff --git a/designs/teagan/i18n/fr.json b/designs/teagan/i18n/fr.json deleted file mode 100644 index 15507133df6..00000000000 --- a/designs/teagan/i18n/fr.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "T-shirt Teagan", - "d": "Teagan est un T-shirt ajusté.", - "p": { - "back": "Retour", - "front": "Avant", - "sleeve": "Manche" - }, - "s": { - "fullLengthFromHps": "Longueur complète (à partir du haut de l'épaule)" - }, - "o": { - "draftForHighBust": { - "t": "Tracé pour le buste supérieur", - "d": "Tracer le patron pour la mesure de tour de poitrine supérieure (si disponible) plutôt que la poitrine (pleine). Il en résultera un vêtement plus ajusté pour les personnes qui ont des seins." - }, - "sleeveEase": { - "t": "Aisance des manches", - "d": "Quantité d'aisance de vos manches" - }, - "sleeveLength": { - "t": "Longueur des manches", - "d": "Contrôle la longueur de vos manches" - }, - "necklineBend": { - "t": "Courbure de l'encolure", - "d": "Contrôle la courbure de l'encolure." - }, - "necklineDepth": { - "t": "Profondeur de l'encolure", - "d": "Contrôle la profondeur de l'encolure." - }, - "necklineWidth": { - "t": "Largeur d'encolure", - "d": "Contrôle la largeur de l'encolure." - }, - "curveToWaist": { - "t": "Fit the waist", - "d": "Whether or not to fit the waist or rahter only fit chest and hips." - }, - "curvedWaistEase": { - "t": "Waist ease", - "d": "Ease at the waist (only applies when the waist is fitted)." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Ease at the hips." - } - } -} diff --git a/designs/teagan/i18n/index.mjs b/designs/teagan/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/teagan/i18n/index.mjs +++ b/designs/teagan/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/teagan/i18n/nl.json b/designs/teagan/i18n/nl.json deleted file mode 100644 index 6ae4ae5ba5e..00000000000 --- a/designs/teagan/i18n/nl.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Teagan T-shirt", - "d": "Teagan is een patroon voor een aansluitend t-shirt.", - "p": { - "back": "Achterzijde", - "front": "Voorzijde", - "sleeve": "Mouw" - }, - "s": { - "fullLengthFromHps": "Afgewerkte lengte (vanaf HPS)" - }, - "o": { - "draftForHighBust": { - "t": "Teken voor hoge buste", - "d": "Teken het patroon voor de hoge bustemaat (indien beschikbaar) in plaats van de volle borstomtrek. Dit heeft een aansluitender kledingstuk als resultaat voor mensen met borsten." - }, - "sleeveEase": { - "t": "Overwijdte mouw", - "d": "De hoeveelheid extra ruimte in je mouwen" - }, - "sleeveLength": { - "t": "Mouwlengte", - "d": "Bepaalt de lengte van je mouwen" - }, - "necklineBend": { - "t": "Curve halslijn", - "d": "Bepaalt de curve van de halsuitsnijding." - }, - "necklineDepth": { - "t": "Diepte halsuitsnijding", - "d": "Bepaalt hoe diep de halsopening is." - }, - "necklineWidth": { - "t": "Breedte halsuitsnijding", - "d": "Bepaalt hoe breed de halsopening is." - }, - "curveToWaist": { - "t": "Fit the waist", - "d": "Whether or not to fit the waist or rahter only fit chest and hips." - }, - "curvedWaistEase": { - "t": "Waist ease", - "d": "Ease at the waist (only applies when the waist is fitted)." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Ease at the hips." - } - } -} diff --git a/designs/teagan/i18n/uk.json b/designs/teagan/i18n/uk.json deleted file mode 100644 index 689205eff60..00000000000 --- a/designs/teagan/i18n/uk.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Teagan T-shirt", - "d": "Teagan is a fitted T-shirt pattern.", - "p": { - "back": "Back", - "front": "Front", - "sleeve": "Sleeve" - }, - "s": { - "fullLengthFromHps": "Full length (from HPS)" - }, - "o": { - "draftForHighBust": { - "t": "Draft for high bust", - "d": "Draft the pattern for the high bust measurement (if available) rather than the (full) chest. This will result in a more fitted garment for people with breasts." - }, - "sleeveEase": { - "t": "Sleeve ease", - "d": "Amount of ease of your sleeves" - }, - "sleeveLength": { - "t": "Sleeve length", - "d": "Controls the length of your sleeves" - }, - "necklineBend": { - "t": "Neckline curvature", - "d": "Controls the curvature of the neckline." - }, - "necklineDepth": { - "t": "Neckline depth", - "d": "Controls how deep the neck opening plunges down." - }, - "necklineWidth": { - "t": "Neckline width", - "d": "Controls the width of the neck opening." - }, - "curveToWaist": { - "t": "Fit the waist", - "d": "Whether or not to fit the waist or rahter only fit chest and hips." - }, - "curvedWaistEase": { - "t": "Waist ease", - "d": "Ease at the waist (only applies when the waist is fitted)." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Ease at the hips." - } - } -} diff --git a/designs/teagan/package.json b/designs/teagan/package.json index 1607edfc184..da073575678 100644 --- a/designs/teagan/package.json +++ b/designs/teagan/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/teagan", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a T-shirt", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,50 +25,41 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/brian": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/brian": "4.0.0", + "@freesewing/plugin-bust": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/teagan/src/front.mjs b/designs/teagan/src/front.mjs index 61b79246714..5ee444940f7 100644 --- a/designs/teagan/src/front.mjs +++ b/designs/teagan/src/front.mjs @@ -1,5 +1,5 @@ import { base } from '@freesewing/brian' -import { hidePresets } from '@freesewing/core' +import { hidePresets, pctBasedOn } from '@freesewing/core' function teaganFront({ utils, @@ -261,7 +261,7 @@ export const front = { sleeveWidthGuarantee: 0.85, frontArmholeDeeper: 0.005, // Brian overrides - chestEase: { pct: 12, min: 5, max: 25, menu: 'fit' }, + chestEase: { pct: 12, min: 5, max: 25, ...pctBasedOn('chest'), menu: 'fit' }, sleeveLength: { pct: 30, min: 20, max: 100, menu: 'fit' }, lengthBonus: { pct: 15, min: -20, max: 60, menu: 'style' }, backNeckCutout: { pct: 8, min: 4, max: 12, menu: 'fit' }, @@ -272,9 +272,10 @@ export const front = { pct: 25, min: 8, max: 40, + ...pctBasedOn('waist'), menu: (settings, mergedOptions) => (mergedOptions.fitWaist ? 'fit' : false), }, - hipsEase: { pct: 18, min: 8, max: 30, menu: 'fit' }, + hipsEase: { pct: 18, min: 8, max: 30, ...pctBasedOn('hips'), menu: 'fit' }, necklineDepth: { pct: 25, min: 20, max: 40, menu: 'style' }, necklineWidth: { pct: 30, min: 10, max: 50, menu: 'style' }, necklineBend: { pct: 30, min: 0, max: 70, menu: 'style' }, diff --git a/designs/teagan/src/index.mjs b/designs/teagan/src/index.mjs index e0ab9c3212f..914adaae486 100644 --- a/designs/teagan/src/index.mjs +++ b/designs/teagan/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as teaganI18n } from '../i18n/index.mjs' import { back } from './back.mjs' @@ -8,7 +8,7 @@ import { sleeve } from './sleeve.mjs' // Setup our new design const Teagan = new Design({ - data, + data: about, parts: [back, front, sleeve], }) @@ -18,4 +18,4 @@ const i18n = mergeI18n([brianI18n, teaganI18n], { }) // Named exports -export { back, front, sleeve, Teagan, i18n } +export { back, front, sleeve, Teagan, i18n, about } diff --git a/designs/teagan/tests/shared.test.mjs b/designs/teagan/tests/shared.test.mjs index 483740861e7..524ff738656 100644 --- a/designs/teagan/tests/shared.test.mjs +++ b/designs/teagan/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Teagan, i18n } from '../src/index.mjs' +import { Teagan, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Teagan) +testPatternConfig(Teagan, about) // Test translation testPatternI18n(Teagan, i18n) diff --git a/designs/tiberius/README.md b/designs/tiberius/README.md index 5b458723136..37c6de2e847 100644 --- a/designs/tiberius/README.md +++ b/designs/tiberius/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:tiberius - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/tiberius @@ -59,7 +44,7 @@ A FreeSewing pattern for a tunica, a historical Roman tunic > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/tiberius/data.mjs b/designs/tiberius/data.mjs deleted file mode 100644 index 941f2c42ccf..00000000000 --- a/designs/tiberius/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/tiberius' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/tiberius/i18n/de.json b/designs/tiberius/i18n/de.json deleted file mode 100644 index 22ea8fc052d..00000000000 --- a/designs/tiberius/i18n/de.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Tiberius, die Tunica", - "d": "Tiberius ist eine historische römische Tunika", - "p": { - "tunica": "Tunica" - }, - "s": {}, - "o": { - "headRatio": { - "t": "Kopfgrößenverhältnis", - "d": "Steuert die Größe der Kopföffnung" - }, - "armholeDrop": { - "t": "Armlochabsenkung", - "d": "Steuert die Tiefe des Armloches" - }, - "lengthBonus": { - "t": "Längenzugabe", - "d": "Erlaubt Variation der Länge des Kleidungsstücks" - }, - "widthBonus": { - "t": "Breitenzugabe", - "d": "Erlaubt Variation der Breite des Kleidungsstücks" - }, - "clavi": { - "t": "Clavi", - "d": "Legt fest, ob Hilfslinien für Clavi enthalten sind oder nicht" - }, - "clavusLocation": { - "t": "Positionierung der Clavi", - "d": "Steuert die Position der Clavi" - }, - "clavusWidth": { - "t": "Breite der Clavi", - "d": "Steuert die Breite der Clavi" - }, - "length": { - "t": "Länge", - "d": "Steuert die Länge des Kleidungsstückes" - }, - "width": { - "t": "Breite", - "d": "Steuert die Breite des Kleidungsstückes" - }, - "forceWidth": { - "t": "Breite erzwingen", - "d": "Breiteneinstellungen unabhängig von Einschränkungen anwenden" - } - } -} diff --git a/designs/tiberius/i18n/es.json b/designs/tiberius/i18n/es.json deleted file mode 100644 index de6178f3553..00000000000 --- a/designs/tiberius/i18n/es.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Tiberius, túnica", - "d": "Tiberius es una túnica romana histórica.", - "p": { - "tunica": "Tunica" - }, - "s": {}, - "o": { - "headRatio": { - "t": "Head ratio", - "d": "Controls the size of the head opening" - }, - "armholeDrop": { - "t": "Caída de la sisa", - "d": "Controla la profundidad del orificio" - }, - "lengthBonus": { - "t": "Bonus de longitud", - "d": "Allows variation of the length of the garment" - }, - "widthBonus": { - "t": "Width bonus", - "d": "Allows variation of the width of the garment" - }, - "clavi": { - "t": "Clavi", - "d": "Whether or not to include guides for clavi" - }, - "clavusLocation": { - "t": "Clavus location", - "d": "Controls the location of the clavi" - }, - "clavusWidth": { - "t": "Clavus width", - "d": "Controls the width of the clavi" - }, - "length": { - "t": "Longitud", - "d": "Controls the length of the garment" - }, - "width": { - "t": "Anchura", - "d": "Controls the width of the garment" - }, - "forceWidth": { - "t": "Force width", - "d": "Apply width settings regardless of constraints" - } - } -} diff --git a/designs/tiberius/i18n/fr.json b/designs/tiberius/i18n/fr.json deleted file mode 100644 index c0e8f7d69ac..00000000000 --- a/designs/tiberius/i18n/fr.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Tunique Tiberius", - "d": "Tiberius est une tunique romaine historique", - "p": { - "tunica": "Tunica" - }, - "s": {}, - "o": { - "headRatio": { - "t": "Ratio tête", - "d": "Contrôle la taille de l'ouverture de la tête" - }, - "armholeDrop": { - "t": "Abaissement d'emmanchure", - "d": "Contrôle la profondeur de l'emmanchure" - }, - "lengthBonus": { - "t": "Supplément de longueur", - "d": "Permet de varier la longueur du vêtement" - }, - "widthBonus": { - "t": "Bonus de largeur", - "d": "Permet de varier la largeur du vêtement" - }, - "clavi": { - "t": "Bande de pourpre", - "d": "Inclure ou non des guides pour la bande de pourpre" - }, - "clavusLocation": { - "t": "Emplacement de la bande de pourpre", - "d": "Contrôle la localisation de la bande de pourpre" - }, - "clavusWidth": { - "t": "Largeur de la bande de pourpre", - "d": "Contrôle la largeur de la bande de pourpre" - }, - "length": { - "t": "Longueur", - "d": "Contrôle la longueur du vêtement" - }, - "width": { - "t": "Largeur", - "d": "Contrôle la largeur du vêtement" - }, - "forceWidth": { - "t": "Forcer la largeur", - "d": "Appliquer les paramètres de largeur indépendamment des contraintes" - } - } -} diff --git a/designs/tiberius/i18n/index.mjs b/designs/tiberius/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/tiberius/i18n/index.mjs +++ b/designs/tiberius/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/tiberius/i18n/nl.json b/designs/tiberius/i18n/nl.json deleted file mode 100644 index eb70a14dc01..00000000000 --- a/designs/tiberius/i18n/nl.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Tiberius Tunica", - "d": "Tiberius is a historical Roman tunic", - "p": { - "tunica": "Tunica" - }, - "s": {}, - "o": { - "headRatio": { - "t": "Head ratio", - "d": "Controls the size of the head opening" - }, - "armholeDrop": { - "t": "Armsgat verlagen/verhogen", - "d": "Bepaalt de diepte van het armsgat" - }, - "lengthBonus": { - "t": "Lengtebonus", - "d": "Allows variation of the length of the garment" - }, - "widthBonus": { - "t": "Width bonus", - "d": "Allows variation of the width of the garment" - }, - "clavi": { - "t": "Clavi", - "d": "Whether or not to include guides for clavi" - }, - "clavusLocation": { - "t": "Clavus location", - "d": "Controls the location of the clavi" - }, - "clavusWidth": { - "t": "Clavus width", - "d": "Controls the width of the clavi" - }, - "length": { - "t": "Lengte", - "d": "Controls the length of the garment" - }, - "width": { - "t": "Breedte", - "d": "Controls the width of the garment" - }, - "forceWidth": { - "t": "Force width", - "d": "Apply width settings regardless of constraints" - } - } -} diff --git a/designs/tiberius/i18n/uk.json b/designs/tiberius/i18n/uk.json deleted file mode 100644 index 1ef727fa197..00000000000 --- a/designs/tiberius/i18n/uk.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "t": "Tiberius Tunica", - "d": "Tiberius is a historical Roman tunic", - "p": { - "tunica": "Tunica" - }, - "s": {}, - "o": { - "headRatio": { - "t": "Head ratio", - "d": "Controls the size of the head opening" - }, - "armholeDrop": { - "t": "Armhole drop", - "d": "Controls the depth of the armhole" - }, - "lengthBonus": { - "t": "Length bonus", - "d": "Allows variation of the length of the garment" - }, - "widthBonus": { - "t": "Width bonus", - "d": "Allows variation of the width of the garment" - }, - "clavi": { - "t": "Clavi", - "d": "Whether or not to include guides for clavi" - }, - "clavusLocation": { - "t": "Clavus location", - "d": "Controls the location of the clavi" - }, - "clavusWidth": { - "t": "Clavus width", - "d": "Controls the width of the clavi" - }, - "length": { - "t": "Length", - "d": "Controls the length of the garment" - }, - "width": { - "t": "Width", - "d": "Controls the width of the garment" - }, - "forceWidth": { - "t": "Force width", - "d": "Apply width settings regardless of constraints" - } - } -} diff --git a/designs/tiberius/package.json b/designs/tiberius/package.json index 25372b26885..dd6cb8d4d21 100644 --- a/designs/tiberius/package.json +++ b/designs/tiberius/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/tiberius", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a tunica, a historical Roman tunic", "author": "Starfetch (https://github.com/starfetch)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/tiberius/src/index.mjs b/designs/tiberius/src/index.mjs index 656e947ddf0..78cd9d59aa4 100644 --- a/designs/tiberius/src/index.mjs +++ b/designs/tiberius/src/index.mjs @@ -1,13 +1,13 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { tunica } from './tunica.mjs' // Setup our new design const Tiberius = new Design({ - data, + data: about, parts: [tunica], }) // Named exports -export { tunica, Tiberius, i18n } +export { tunica, Tiberius, i18n, about } diff --git a/designs/tiberius/tests/shared.test.mjs b/designs/tiberius/tests/shared.test.mjs index 2c3d884f18b..94b494be549 100644 --- a/designs/tiberius/tests/shared.test.mjs +++ b/designs/tiberius/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Tiberius, i18n } from '../src/index.mjs' +import { Tiberius, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Tiberius) +testPatternConfig(Tiberius, about) // Test translation testPatternI18n(Tiberius, i18n) diff --git a/designs/titan/CHANGELOG.md b/designs/titan/CHANGELOG.md index 410a9c114a6..06e43d3f8cb 100644 --- a/designs/titan/CHANGELOG.md +++ b/designs/titan/CHANGELOG.md @@ -1,6 +1,12 @@ # Change log for: @freesewing/titan +## 4.0.0 (2024-04-01) + +### Changed + + - Adjust cross seam curves after fitting the waist. Fixes + ## 3.0.0 (2023-09-30) ### Changed diff --git a/designs/titan/README.md b/designs/titan/README.md index 6bc6ccecfaf..567dd9de3bd 100644 --- a/designs/titan/README.md +++ b/designs/titan/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:titan - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/titan @@ -59,7 +44,7 @@ A FreeSewing pattern for a unisex trouser block > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/titan/data.mjs b/designs/titan/data.mjs deleted file mode 100644 index 4413f983d76..00000000000 --- a/designs/titan/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/titan' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/titan/i18n/de.json b/designs/titan/i18n/de.json deleted file mode 100644 index 249c5cef3cb..00000000000 --- a/designs/titan/i18n/de.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "t": "Titan, ein Hosen-Grundschnitt", - "d": "Titan ist ein Grundschnitt für Hosen ohne Abnäher.", - "p": { - "back": "Rückseite", - "front": "Vorderseite" - }, - "s": {}, - "o": { - "kneeEase": { - "t": "Knie-Zugabe", - "d": "Kontrolliert die Zugabe am Knie" - }, - "waistHeight": { - "t": "Taillenhöhe", - "d": "Steuert die Höhe des Taillenbundes, 100% = Taillenhöhe, 0% = Hüfthöhe" - }, - "lengthBonus": { - "t": "Längenzugabe", - "d": "Steuert die Länge der Hose" - }, - "crotchDrop": { - "t": "Schritt-Tiefe", - "d": "Senkt die Schrittiefe für mehr Tragekomfort" - }, - "fitKnee": { - "t": "Am Knie anliegend", - "d": "Legt die Bein-Passform auf Grundlage des Knieumfangst statt des Gesäßumfangs fest" - }, - "legBalance": { - "t": "Bein-Balance", - "d": "Steuert das Verhältnis zwischen Vorder- und Hinterteil des Beins" - }, - "crossSeamCurveStart": { - "t": "Start der Quernahtkurve", - "d": "Bestimmt, wie weit wir in die Quernaht hineinspringen und kurven" - }, - "crossSeamCurveBend": { - "t": "Quernaht Kurve", - "d": "Steuert die Krümmung der Kreuznaht" - }, - "crossSeamCurveAngle": { - "t": "Quernaht Winkel", - "d": "Steuert den Winkel der Quernaht" - }, - "crotchSeamCurveStart": { - "t": "Beginn der Schrittnahtkurve", - "d": "Legt fest, wie weit wir in die Schrittnaht hineinfahren" - }, - "crotchSeamCurveBend": { - "t": "Crotch Naht Biegen", - "d": "Steuert die Krümmung der Schrittnaht" - }, - "crotchSeamCurveAngle": { - "t": "Schneckennaht Winkel", - "d": "Steuert den Winkel der Schrittnaht" - }, - "waistBalance": { - "t": "Taillenbilanz", - "d": "Steuert die horizontale Position der Taille relativ zum Sitz" - }, - "waistbandWidth": { - "t": "Taillenbundweite", - "d": "Die Breite des Taillenbundes" - }, - "grainlinePosition": { - "t": "Position Fadenlauf", - "d": "Steuert die horizontale Position des Beins relativ zum Sitz" - } - } -} diff --git a/designs/titan/i18n/es.json b/designs/titan/i18n/es.json deleted file mode 100644 index e60b2d7fa15..00000000000 --- a/designs/titan/i18n/es.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "t": "Titan, patrón base de pantalón", - "d": "Titán es un patrón base de pantalón sin pinzas.", - "p": { - "back": "Atrás", - "front": "Frente" - }, - "s": {}, - "o": { - "kneeEase": { - "t": "Facilidad de rodilla", - "d": "Controla el amout de la facilidad en la rodilla" - }, - "waistHeight": { - "t": "Altura de la muñeca", - "d": "Controla la altura de la cintura, 100% = altura de la cintura, 0% = altura de la cadera" - }, - "lengthBonus": { - "t": "Bonus de longitud", - "d": "Controla la longitud de los pantalones" - }, - "crotchDrop": { - "t": "Gota de cromo", - "d": "Reduce el cromo para un ajuste más relajado" - }, - "fitKnee": { - "t": "Ajustar la rodilla", - "d": "Se ajusta a las piernas en base a la circunstancia de la rodilla, en lugar de la circunstancia del asiento" - }, - "legBalance": { - "t": "Saldo de pierna", - "d": "Controla la relación entre el panel frontal y trasero de la pierna" - }, - "crossSeamCurveStart": { - "t": "Inicio de la curva de costura cruzada", - "d": "Controla hasta qué punto en la costura cruzada empezamos a curvar" - }, - "crossSeamCurveBend": { - "t": "curva de costura cruzada", - "d": "Controla la curvatura de la costura cruzada" - }, - "crossSeamCurveAngle": { - "t": "Ángulo de costura cruzada", - "d": "Controla el ángulo de la costura cruzada" - }, - "crotchSeamCurveStart": { - "t": "Inicio de la curva de costura de cromo", - "d": "Controla hasta qué punto en la costura del cromo empezamos a curva" - }, - "crotchSeamCurveBend": { - "t": "curva de costura cruda", - "d": "Controla la curvatura de la costura del cromo" - }, - "crotchSeamCurveAngle": { - "t": "Ángulo de costura cruda", - "d": "Controla el ángulo de la costura del cromo" - }, - "waistBalance": { - "t": "Balance de Waist", - "d": "Controla la posición horizontal de la cintura relativa al asiento" - }, - "waistbandWidth": { - "t": "Anchura de la cinturilla", - "d": "El ancho de la cintura" - }, - "grainlinePosition": { - "t": "Posición en línea", - "d": "Controla la posición horizontal de la pierna relativa al asiento" - } - } -} diff --git a/designs/titan/i18n/fr.json b/designs/titan/i18n/fr.json deleted file mode 100644 index 454825141d9..00000000000 --- a/designs/titan/i18n/fr.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "t": "Bloc de pantalon Titan", - "d": "Titan est un patron de base de pantalon sans pinces.", - "p": { - "back": "Retour", - "front": "Avant" - }, - "s": {}, - "o": { - "kneeEase": { - "t": "Aisance du genou", - "d": "Contrôle la quantité d'aisance au genou" - }, - "waistHeight": { - "t": "Hauteur de la taille", - "d": "Contrôle la hauteur de la taille, 100% = hauteur de la taille, 0% = hauteur de la hanche" - }, - "lengthBonus": { - "t": "Supplément de longueur", - "d": "Contrôle la longueur du pantalon" - }, - "crotchDrop": { - "t": "Hauteur d'enfourchure", - "d": "Abaisse la fourche pour un tombé plus décontracté" - }, - "fitKnee": { - "t": "Ajuster au genou", - "d": "Ajuste les jambes à partir de la circonférence du genou plutôt que de la circonférence du bassin" - }, - "legBalance": { - "t": "Équilibre des jambes", - "d": "Contrôle le ratio entre le panneau avant et arrière de la jambe" - }, - "crossSeamCurveStart": { - "t": "Début de la courbe de l'enfourchure dos", - "d": "Contrôle la distance à partir de laquelle la courbe démarre pour l'enfourchure dos" - }, - "crossSeamCurveBend": { - "t": "Courbure de l'enfourchure dos", - "d": "Contrôle la courbure de la couture de fourche dos" - }, - "crossSeamCurveAngle": { - "t": "Angle de couture croisée", - "d": "Contrôle l'angle de la couture de croix" - }, - "crotchSeamCurveStart": { - "t": "Début de la courbe de l'enfourchure avant", - "d": "Contrôle la distance à partir de laquelle la courbe démarre pour l'enfourchure avant" - }, - "crotchSeamCurveBend": { - "t": "Courbure de la fourche avant", - "d": "Contrôle la courbure de la couture de fourche avant" - }, - "crotchSeamCurveAngle": { - "t": "Angle de couture", - "d": "Contrôle l'angle de la couture de crotch" - }, - "waistBalance": { - "t": "Équilibre de la taille", - "d": "Contrôle la position horizontale de la taille par rapport au bassin" - }, - "waistbandWidth": { - "t": "Largeur de ceinture", - "d": "La largeur de la ceinture" - }, - "grainlinePosition": { - "t": "Position de la ligne de droit fil", - "d": "Contrôle la position horizontale de la jambe par rapport au bassin" - } - } -} diff --git a/designs/titan/i18n/index.mjs b/designs/titan/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/titan/i18n/index.mjs +++ b/designs/titan/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/titan/i18n/nl.json b/designs/titan/i18n/nl.json deleted file mode 100644 index 09e120b4c23..00000000000 --- a/designs/titan/i18n/nl.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "t": "Titan basispatroon broek", - "d": "Titan is a dartless trouser block.", - "p": { - "back": "Achterzijde", - "front": "Voorzijde" - }, - "s": {}, - "o": { - "kneeEase": { - "t": "Overwijdte knie", - "d": "Bepaalt de hoeveelheid overwijdte aan de knie" - }, - "waistHeight": { - "t": "Taillehoogte", - "d": "Bepaalt de hoogte van de taille, 100% = natuurlijke taille, 0% = heuphoogte" - }, - "lengthBonus": { - "t": "Bonus lengte", - "d": "Bepaalt de lengte van de broek" - }, - "crotchDrop": { - "t": "Diepte kruis", - "d": "Verlaagt het kruis voor een lossere pasvorm" - }, - "fitKnee": { - "t": "Pas de knie aan", - "d": "Past de broekspijpen aan gebaseerd op de omtrek van de knie in plaats van de omtrek van het zitvlak" - }, - "legBalance": { - "t": "Balans been", - "d": "Bepaalt de verhouding tussen de voor-en achterkant van de broekspijp" - }, - "crossSeamCurveStart": { - "t": "Begin van de curve van de binnenbeennaad", - "d": "Bepaalt hoe ver in de binnenbeennaad de curve start" - }, - "crossSeamCurveBend": { - "t": "Buiging binnenbeennaad", - "d": "Bepaalt de curve van de binnenbeennaad" - }, - "crossSeamCurveAngle": { - "t": "Grensoverschrijdende hoek", - "d": "Bepaalt de hoek van de kruisnaad" - }, - "crotchSeamCurveStart": { - "t": "Begin van de curve van de kruisnaad", - "d": "Bepaalt hoe ver in de kruisnaad de curve start" - }, - "crotchSeamCurveBend": { - "t": "Buiging kruisnaad", - "d": "Bepaalt de curve van de kruisnaad" - }, - "crotchSeamCurveAngle": { - "t": "Kruisnaad hoek", - "d": "Bepaalt de hoek van de kruisnaad" - }, - "waistBalance": { - "t": "Balans taille", - "d": "Bepaalt de horizontale positie van de taille in relatie tot het zitvlak" - }, - "waistbandWidth": { - "t": "Breedte tailleband", - "d": "De breedte van de tailleband" - }, - "grainlinePosition": { - "t": "Positie draadrichting", - "d": "Bepaalt de horizontale positie van het been in relatie tot het zitvlak" - } - } -} diff --git a/designs/titan/i18n/uk.json b/designs/titan/i18n/uk.json deleted file mode 100644 index ba4e62ec749..00000000000 --- a/designs/titan/i18n/uk.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "t": "Titan trouser block", - "d": "Titan is a dartless trouser block.", - "p": { - "back": "Back", - "front": "Front" - }, - "s": {}, - "o": { - "kneeEase": { - "t": "Knee ease", - "d": "Controls the amout of ease at the knee" - }, - "waistHeight": { - "t": "Waist height", - "d": "Controls the height of the waist, 100% = waist height, 0% = hip height" - }, - "lengthBonus": { - "t": "Length bonus", - "d": "Controls the length of the trousers" - }, - "crotchDrop": { - "t": "Crotch drop", - "d": "Lowers the crotch for a more relaxed fit" - }, - "fitKnee": { - "t": "Fit the knee", - "d": "Fits the legs from based on the knee circumference, rather than seat circumference" - }, - "legBalance": { - "t": "Leg balance", - "d": "Controls the ratio between front and back panel of the leg" - }, - "crossSeamCurveStart": { - "t": "Start of the cross seam curve", - "d": "Controls how far into the cross seam we start to curve" - }, - "crossSeamCurveBend": { - "t": "Cross seam bend", - "d": "Controls the curvature of the cross seam" - }, - "crossSeamCurveAngle": { - "t": "Cross seam angle", - "d": "Controls the angle of the cross seam" - }, - "crotchSeamCurveStart": { - "t": "Start of the crotch seam curve", - "d": "Controls how far into the crotch seam we start to curve" - }, - "crotchSeamCurveBend": { - "t": "Crotch seam bend", - "d": "Controls the curvature of the crotch seam" - }, - "crotchSeamCurveAngle": { - "t": "Crotch seam angle", - "d": "Controls the angle of the crotch seam" - }, - "seatEase": { - "t": "Seat ease", - "d": "Controls the amount of ease at your seat" - }, - "waistBalance": { - "t": "Waist balance", - "d": "Controls the horizontal position of the waist relative to the seat" - }, - "waistbandWidth": { - "t": "Waistband width", - "d": "The width of the waistband" - }, - "waistEase": { - "t": "Wait ease", - "d": "Controls the amount of ease at your waist" - }, - "grainlinePosition": { - "t": "Grainline position", - "d": "Controls the horizontal position of the leg relative to the seat" - } - } -} diff --git a/designs/titan/package.json b/designs/titan/package.json index fbea9a234f4..7f908407a78 100644 --- a/designs/titan/package.json +++ b/designs/titan/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/titan", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a unisex trouser block", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,49 +25,40 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/snapseries": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/snapseries": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/titan/src/back.mjs b/designs/titan/src/back.mjs index 2802b3b0bff..6c500087c01 100644 --- a/designs/titan/src/back.mjs +++ b/designs/titan/src/back.mjs @@ -444,9 +444,9 @@ export const back = { fitCrossSeamBack: true, fitGuides: true, // Fit - waistEase: { pct: 2, min: 0, max: 10, menu: 'fit' }, - seatEase: { pct: 2, min: 0, max: 10, menu: 'fit' }, - kneeEase: { pct: 6, min: 1, max: 25, menu: 'fit' }, + waistEase: { pct: 2, min: 0, max: 10, ...pctBasedOn('waist'), menu: 'fit' }, + seatEase: { pct: 2, min: 0, max: 10, ...pctBasedOn('seat'), menu: 'fit' }, + kneeEase: { pct: 6, min: 1, max: 25, ...pctBasedOn('knee'), menu: 'fit' }, // Style waistHeight: { pct: 100, min: 0, max: 100, menu: 'style' }, lengthBonus: { pct: 2, min: -20, max: 10, menu: 'style' }, diff --git a/designs/titan/src/index.mjs b/designs/titan/src/index.mjs index 8ccbbcf8dd5..145855b9a8c 100644 --- a/designs/titan/src/index.mjs +++ b/designs/titan/src/index.mjs @@ -1,14 +1,14 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { back } from './back.mjs' import { front } from './front.mjs' // Setup our new design const Titan = new Design({ - data, + data: about, parts: [back, front], }) // Named exports -export { back, front, Titan, i18n } +export { back, front, Titan, i18n, about } diff --git a/designs/titan/tests/shared.test.mjs b/designs/titan/tests/shared.test.mjs index 777dc95e32f..d95a9cbde30 100644 --- a/designs/titan/tests/shared.test.mjs +++ b/designs/titan/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Titan, i18n } from '../src/index.mjs' +import { Titan, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Titan) +testPatternConfig(Titan, about) // Test translation testPatternI18n(Titan, i18n) diff --git a/designs/trayvon/README.md b/designs/trayvon/README.md index 5d8e08ee15f..0fbec4dd0aa 100644 --- a/designs/trayvon/README.md +++ b/designs/trayvon/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:trayvon - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/trayvon @@ -59,7 +44,7 @@ A FreeSewing pattern for a tie > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/trayvon/data.mjs b/designs/trayvon/data.mjs deleted file mode 100644 index 260e34eedaa..00000000000 --- a/designs/trayvon/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/trayvon' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/trayvon/i18n/de.json b/designs/trayvon/i18n/de.json deleted file mode 100644 index bc39f4fa693..00000000000 --- a/designs/trayvon/i18n/de.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "t": "Trayvon, die Krawatte", - "d": "Trayvon ist eine Krawatte, die für ein professionelles Ergebnis an keiner Ecke spart.", - "p": { - "fabricLoop": "Fabric loop", - "fabricTail": "Stoffschwanz", - "fabricTip": "Stoffspitze", - "interfacingTail": "Einlageschwanz", - "interfacingTip": "Einlagespitze", - "liningTail": "Futterschwanz", - "liningTip": "Futterspitze" - }, - "s": {}, - "o": { - "tipWidth": { - "t": "Spitzenbreite", - "d": "Die Breite deiner Krawatte an der Spitze" - }, - "knotWidth": { - "t": "Knotenbreite", - "d": "Die Breite deiner Krawatte am Knoten" - } - } -} diff --git a/designs/trayvon/i18n/es.json b/designs/trayvon/i18n/es.json deleted file mode 100644 index 86a68a859b4..00000000000 --- a/designs/trayvon/i18n/es.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "t": "Trayvon, corbata", - "d": "Trayvon es una corbata que no repara en gastos para un resultado profesional.", - "p": { - "fabricLoop": "Fabric loop", - "fabricTail": "Cola de tela", - "fabricTip": "Punta de tela", - "interfacingTail": "Cola de entretela", - "interfacingTip": "Punta de entretela", - "liningTail": "Cola de revestimiento", - "liningTip": "Punta de revestimiento" - }, - "s": {}, - "o": { - "tipWidth": { - "t": "Ancho de la punta", - "d": "El ancho de tu corbata en la punta" - }, - "knotWidth": { - "t": "Ancho de nudo", - "d": "El ancho de tu corbata en el nudo" - } - } -} diff --git a/designs/trayvon/i18n/fr.json b/designs/trayvon/i18n/fr.json deleted file mode 100644 index 25fb3a14973..00000000000 --- a/designs/trayvon/i18n/fr.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "t": "Cravate Trayvon", - "d": "Trayvon est une cravate qui ne fait pas d'économies pour un résultat professionnel.", - "p": { - "fabricLoop": "Fabric loop", - "fabricTail": "Queue en tissu", - "fabricTip": "Pointe en tissu", - "interfacingTail": "Entoilage de queue", - "interfacingTip": "Entoilage de pointe", - "liningTail": "Doublure de queue", - "liningTip": "Doublure de pointe" - }, - "s": {}, - "o": { - "tipWidth": { - "t": "Largeur de la pointe", - "d": "La largeur de votre cravate au niveau de la pointe" - }, - "knotWidth": { - "t": "Largeur du nœud", - "d": "La largeur de votre cravate au niveau du noeud" - } - } -} diff --git a/designs/trayvon/i18n/index.mjs b/designs/trayvon/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/trayvon/i18n/index.mjs +++ b/designs/trayvon/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/trayvon/i18n/nl.json b/designs/trayvon/i18n/nl.json deleted file mode 100644 index d9330c25f6c..00000000000 --- a/designs/trayvon/i18n/nl.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "t": "Trayvon das", - "d": "Trayvon is een das zoals het hoort, voor een professioneel resultaat.", - "p": { - "fabricLoop": "Fabric loop", - "fabricTail": "Stof staart", - "fabricTip": "Stof tip", - "interfacingTail": "Interfacing staart", - "interfacingTip": "Interfacing tip", - "liningTail": "Voering staart", - "liningTip": "Voering tip" - }, - "s": {}, - "o": { - "tipWidth": { - "t": "Breedte punten", - "d": "De breedte van je stropdas aan het uiteinde" - }, - "knotWidth": { - "t": "Breedte knoop", - "d": "De breedte van je stropdas aan de knoop" - } - } -} diff --git a/designs/trayvon/i18n/uk.json b/designs/trayvon/i18n/uk.json deleted file mode 100644 index 916341a7f00..00000000000 --- a/designs/trayvon/i18n/uk.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "t": "Trayvon tie", - "d": "Trayvon is a tie that cuts no corners for a professional result.", - "p": { - "fabricLoop": "Fabric loop", - "fabricTail": "Fabric tail", - "fabricTip": "Fabric tip", - "interfacingTail": "Interfacing tail", - "interfacingTip": "Interfacing tip", - "liningTail": "Lining tail", - "liningTip": "Lining tip" - }, - "s": {}, - "o": { - "tipWidth": { - "t": "Tip width", - "d": "The width of your tie at the tip" - }, - "knotWidth": { - "t": "Knot width", - "d": "The width of your tie at the knot" - }, - "lengthBonus": { - "t": "Length bonus", - "d": "How much longer than the default length to make the tie." - } - } -} diff --git a/designs/trayvon/package.json b/designs/trayvon/package.json index 837aac6b233..cd0230e0dc0 100644 --- a/designs/trayvon/package.json +++ b/designs/trayvon/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/trayvon", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a tie", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,49 +25,40 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/snapseries": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/snapseries": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/trayvon/src/index.mjs b/designs/trayvon/src/index.mjs index 9376d51a03c..247b34b1aba 100644 --- a/designs/trayvon/src/index.mjs +++ b/designs/trayvon/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { interfacingTail, interfacingTip } from './interfacing.mjs' import { liningTail, liningTip } from './lining.mjs' @@ -8,7 +8,7 @@ import { fabricLoop } from './loop.mjs' // Setup our new design const Trayvon = new Design({ - data, + data: about, parts: [ interfacingTail, interfacingTip, @@ -31,4 +31,5 @@ export { fabricLoop, Trayvon, i18n, + about, } diff --git a/designs/trayvon/tests/shared.test.mjs b/designs/trayvon/tests/shared.test.mjs index f59e6301dad..2b0d82da398 100644 --- a/designs/trayvon/tests/shared.test.mjs +++ b/designs/trayvon/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Trayvon, i18n } from '../src/index.mjs' +import { Trayvon, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Trayvon) +testPatternConfig(Trayvon, about) // Test translation testPatternI18n(Trayvon, i18n) diff --git a/designs/tristan/README.md b/designs/tristan/README.md index 44fdc8b528a..bbb7818bbea 100644 --- a/designs/tristan/README.md +++ b/designs/tristan/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:tristan - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/tristan @@ -59,7 +44,7 @@ A FreeSewing pattern for a fitted top with prince(ss) seams > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/tristan/data.mjs b/designs/tristan/data.mjs deleted file mode 100644 index ed0d450af18..00000000000 --- a/designs/tristan/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/tristan' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/tristan/i18n/de.json b/designs/tristan/i18n/de.json deleted file mode 100644 index 9951cd33621..00000000000 --- a/designs/tristan/i18n/de.json +++ /dev/null @@ -1,182 +0,0 @@ -{ - "t": "Tristan", - "d": "Tristan is a fitted tank top with prince(ss) seams.", - "p": { - "backInside": "Back inside", - "backOutside": "Back outside", - "backPoints": "Back base", - "frontInside": "Front inside", - "frontOutside": "Front outside", - "frontPoints": "Front base", - "peplumFront": "Peplum front", - "peplumBack": "Peplum back" - }, - "s": { - "strapWidthAdjusted.t": "The strap width has been adjusted", - "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder.", - "peplumWidth.t": "Peplum size", - "peplumWidth.d": "The peplum will be {{{ peplumWidth }}} long.", - "frontOutside": "Outside front", - "frontInside": "Inside front", - "backOutside": "Outside back", - "backInside": "Inside back", - "frontPeplum": "Peplum front", - "backPeplum": "Peplum back", - "hem": "Hem" - }, - "o": { - "bustSpanEase": { - "t": "Bust span ease", - "d": "Controls the amount of ease along the bust span" - }, - "chestEase": { - "t": "Chest ease", - "d": "Controls the amount of ease at the chest" - }, - "shoulderToShoulderEase": { - "t": "Shoulder to shoulder ease", - "d": "Controls the amount of ease along the shoulder to shoulder measurement" - }, - "fullChestEaseReduction": { - "t": "Full chest ease reduction", - "d": "Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at the waist" - }, - "waistdartposition": { - "t": "Waist dart position", - "d": "Controls the position of the waist 'dart', moving it to the center (negative) or side (positive)" - }, - "frontShoulderWidth": { - "t": "Front shoulder width", - "d": "Controls how much width is added to the shoulder in the front" - }, - "highBustWidth": { - "t": "High bust width", - "d": "Controls the width of the high bust" - }, - "armholeDepth": { - "t": "Depth of the Armhole", - "d": "Controls how deep the armhole is" - }, - "cutDepthBack": { - "t": "Depth of the cut in the back", - "d": "Controls the depth of the cut in the back" - }, - "cutDepthFront": { - "t": "Depth of the cut in the front", - "d": "Controls the depth of the cut in the front" - }, - "cutRoundnessBack": { - "t": "Roundness of the cut in the back", - "d": "Controls how 'round' the cut in the back is, from V to round to square" - }, - "cutRoundnessFront": { - "t": "Roundness of the cut in the front", - "d": "Controls how 'round' the cut in the front is, from V to round to square" - }, - "shoulderDartCurvature": { - "t": "Shoulder dart curvature", - "d": "Controls the curvature of the upper part of the shoulder dart" - }, - "shoulderDartPosition": { - "t": "Shoulder dart position", - "d": "Controls the position of the shoulder dart" - }, - "strapWidth": { - "t": "Width of the straps", - "d": "Controls the width of the straps" - }, - "upperDartLength": { - "t": "Upper dart length", - "d": "Controls the length of the upper dart" - }, - "waistDartLength": { - "t": "Waist dart length", - "d": "Controls the length of the waist dart" - }, - "zipperLocation": { - "t": "Zipper location", - "d": "The location of the zipper: side, back, or front" - }, - "zipperLocation.front": { - "t": "Front zipper location", - "d": "The location of the zipper will be in the front" - }, - "zipperLocation.side": { - "t": "Side zipper location", - "d": "The location of the zipper will be on the side" - }, - "zipperLocation.back": { - "t": "Back zipper location", - "d": "The location of the zipper will be in the back" - }, - "hem": { - "t": "Hem option", - "d": "Add a hem." - }, - "hemYes": { - "t": "Add a hem", - "d": "Add a hem at the waist" - }, - "hemNo": { - "t": "Do not add a hem", - "d": "Do not add a hem at the waist" - }, - "hemSize": { - "t": "Size of the hem", - "d": "Size of the hem, a percentage of the distance between the neckline and the waist" - }, - "lacing": { - "t": "Lacing option", - "d": "This removes part of the seam to create an opening for lacing" - }, - "lacingYes": { - "t": "Add Lacing", - "d": "Remove part of the seam to create an opening for lacing" - }, - "lacingNo": { - "t": "No lacing", - "d": "Close the seams normally" - }, - "lacingLocation": { - "t": "Location of the lacing", - "d": "Lacing in the front, or the back" - }, - "lacingLocation.back": { - "t": "Lacing in the back", - "d": "The lacing will be in the back" - }, - "lacingLocation.front": { - "t": "Lacing in the front", - "d": "The lacing will be in the front" - }, - "lacingWidth": { - "t": "Lacing width", - "d": "Width of the lacing opening" - }, - "peplum": { - "t": "Peplum", - "d": "Add a peplum" - }, - "peplumYes": { - "t": "Add a peplum", - "d": "This will generate the peplum part." - }, - "peplumNo": { - "t": "No peplum", - "d": "Pattern will be generated without a peplum" - }, - "peplumSize": { - "t": "Peplum size", - "d": "Controls the size of the peplum" - }, - "peplumFullness": { - "t": "Peplum fullness", - "d": "Controls the 'fullness' of the peplum. Basically from a half-circle to a full-circle." - } - - } -} diff --git a/designs/tristan/i18n/es.json b/designs/tristan/i18n/es.json deleted file mode 100644 index 9951cd33621..00000000000 --- a/designs/tristan/i18n/es.json +++ /dev/null @@ -1,182 +0,0 @@ -{ - "t": "Tristan", - "d": "Tristan is a fitted tank top with prince(ss) seams.", - "p": { - "backInside": "Back inside", - "backOutside": "Back outside", - "backPoints": "Back base", - "frontInside": "Front inside", - "frontOutside": "Front outside", - "frontPoints": "Front base", - "peplumFront": "Peplum front", - "peplumBack": "Peplum back" - }, - "s": { - "strapWidthAdjusted.t": "The strap width has been adjusted", - "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder.", - "peplumWidth.t": "Peplum size", - "peplumWidth.d": "The peplum will be {{{ peplumWidth }}} long.", - "frontOutside": "Outside front", - "frontInside": "Inside front", - "backOutside": "Outside back", - "backInside": "Inside back", - "frontPeplum": "Peplum front", - "backPeplum": "Peplum back", - "hem": "Hem" - }, - "o": { - "bustSpanEase": { - "t": "Bust span ease", - "d": "Controls the amount of ease along the bust span" - }, - "chestEase": { - "t": "Chest ease", - "d": "Controls the amount of ease at the chest" - }, - "shoulderToShoulderEase": { - "t": "Shoulder to shoulder ease", - "d": "Controls the amount of ease along the shoulder to shoulder measurement" - }, - "fullChestEaseReduction": { - "t": "Full chest ease reduction", - "d": "Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at the waist" - }, - "waistdartposition": { - "t": "Waist dart position", - "d": "Controls the position of the waist 'dart', moving it to the center (negative) or side (positive)" - }, - "frontShoulderWidth": { - "t": "Front shoulder width", - "d": "Controls how much width is added to the shoulder in the front" - }, - "highBustWidth": { - "t": "High bust width", - "d": "Controls the width of the high bust" - }, - "armholeDepth": { - "t": "Depth of the Armhole", - "d": "Controls how deep the armhole is" - }, - "cutDepthBack": { - "t": "Depth of the cut in the back", - "d": "Controls the depth of the cut in the back" - }, - "cutDepthFront": { - "t": "Depth of the cut in the front", - "d": "Controls the depth of the cut in the front" - }, - "cutRoundnessBack": { - "t": "Roundness of the cut in the back", - "d": "Controls how 'round' the cut in the back is, from V to round to square" - }, - "cutRoundnessFront": { - "t": "Roundness of the cut in the front", - "d": "Controls how 'round' the cut in the front is, from V to round to square" - }, - "shoulderDartCurvature": { - "t": "Shoulder dart curvature", - "d": "Controls the curvature of the upper part of the shoulder dart" - }, - "shoulderDartPosition": { - "t": "Shoulder dart position", - "d": "Controls the position of the shoulder dart" - }, - "strapWidth": { - "t": "Width of the straps", - "d": "Controls the width of the straps" - }, - "upperDartLength": { - "t": "Upper dart length", - "d": "Controls the length of the upper dart" - }, - "waistDartLength": { - "t": "Waist dart length", - "d": "Controls the length of the waist dart" - }, - "zipperLocation": { - "t": "Zipper location", - "d": "The location of the zipper: side, back, or front" - }, - "zipperLocation.front": { - "t": "Front zipper location", - "d": "The location of the zipper will be in the front" - }, - "zipperLocation.side": { - "t": "Side zipper location", - "d": "The location of the zipper will be on the side" - }, - "zipperLocation.back": { - "t": "Back zipper location", - "d": "The location of the zipper will be in the back" - }, - "hem": { - "t": "Hem option", - "d": "Add a hem." - }, - "hemYes": { - "t": "Add a hem", - "d": "Add a hem at the waist" - }, - "hemNo": { - "t": "Do not add a hem", - "d": "Do not add a hem at the waist" - }, - "hemSize": { - "t": "Size of the hem", - "d": "Size of the hem, a percentage of the distance between the neckline and the waist" - }, - "lacing": { - "t": "Lacing option", - "d": "This removes part of the seam to create an opening for lacing" - }, - "lacingYes": { - "t": "Add Lacing", - "d": "Remove part of the seam to create an opening for lacing" - }, - "lacingNo": { - "t": "No lacing", - "d": "Close the seams normally" - }, - "lacingLocation": { - "t": "Location of the lacing", - "d": "Lacing in the front, or the back" - }, - "lacingLocation.back": { - "t": "Lacing in the back", - "d": "The lacing will be in the back" - }, - "lacingLocation.front": { - "t": "Lacing in the front", - "d": "The lacing will be in the front" - }, - "lacingWidth": { - "t": "Lacing width", - "d": "Width of the lacing opening" - }, - "peplum": { - "t": "Peplum", - "d": "Add a peplum" - }, - "peplumYes": { - "t": "Add a peplum", - "d": "This will generate the peplum part." - }, - "peplumNo": { - "t": "No peplum", - "d": "Pattern will be generated without a peplum" - }, - "peplumSize": { - "t": "Peplum size", - "d": "Controls the size of the peplum" - }, - "peplumFullness": { - "t": "Peplum fullness", - "d": "Controls the 'fullness' of the peplum. Basically from a half-circle to a full-circle." - } - - } -} diff --git a/designs/tristan/i18n/fr.json b/designs/tristan/i18n/fr.json deleted file mode 100644 index 9951cd33621..00000000000 --- a/designs/tristan/i18n/fr.json +++ /dev/null @@ -1,182 +0,0 @@ -{ - "t": "Tristan", - "d": "Tristan is a fitted tank top with prince(ss) seams.", - "p": { - "backInside": "Back inside", - "backOutside": "Back outside", - "backPoints": "Back base", - "frontInside": "Front inside", - "frontOutside": "Front outside", - "frontPoints": "Front base", - "peplumFront": "Peplum front", - "peplumBack": "Peplum back" - }, - "s": { - "strapWidthAdjusted.t": "The strap width has been adjusted", - "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder.", - "peplumWidth.t": "Peplum size", - "peplumWidth.d": "The peplum will be {{{ peplumWidth }}} long.", - "frontOutside": "Outside front", - "frontInside": "Inside front", - "backOutside": "Outside back", - "backInside": "Inside back", - "frontPeplum": "Peplum front", - "backPeplum": "Peplum back", - "hem": "Hem" - }, - "o": { - "bustSpanEase": { - "t": "Bust span ease", - "d": "Controls the amount of ease along the bust span" - }, - "chestEase": { - "t": "Chest ease", - "d": "Controls the amount of ease at the chest" - }, - "shoulderToShoulderEase": { - "t": "Shoulder to shoulder ease", - "d": "Controls the amount of ease along the shoulder to shoulder measurement" - }, - "fullChestEaseReduction": { - "t": "Full chest ease reduction", - "d": "Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at the waist" - }, - "waistdartposition": { - "t": "Waist dart position", - "d": "Controls the position of the waist 'dart', moving it to the center (negative) or side (positive)" - }, - "frontShoulderWidth": { - "t": "Front shoulder width", - "d": "Controls how much width is added to the shoulder in the front" - }, - "highBustWidth": { - "t": "High bust width", - "d": "Controls the width of the high bust" - }, - "armholeDepth": { - "t": "Depth of the Armhole", - "d": "Controls how deep the armhole is" - }, - "cutDepthBack": { - "t": "Depth of the cut in the back", - "d": "Controls the depth of the cut in the back" - }, - "cutDepthFront": { - "t": "Depth of the cut in the front", - "d": "Controls the depth of the cut in the front" - }, - "cutRoundnessBack": { - "t": "Roundness of the cut in the back", - "d": "Controls how 'round' the cut in the back is, from V to round to square" - }, - "cutRoundnessFront": { - "t": "Roundness of the cut in the front", - "d": "Controls how 'round' the cut in the front is, from V to round to square" - }, - "shoulderDartCurvature": { - "t": "Shoulder dart curvature", - "d": "Controls the curvature of the upper part of the shoulder dart" - }, - "shoulderDartPosition": { - "t": "Shoulder dart position", - "d": "Controls the position of the shoulder dart" - }, - "strapWidth": { - "t": "Width of the straps", - "d": "Controls the width of the straps" - }, - "upperDartLength": { - "t": "Upper dart length", - "d": "Controls the length of the upper dart" - }, - "waistDartLength": { - "t": "Waist dart length", - "d": "Controls the length of the waist dart" - }, - "zipperLocation": { - "t": "Zipper location", - "d": "The location of the zipper: side, back, or front" - }, - "zipperLocation.front": { - "t": "Front zipper location", - "d": "The location of the zipper will be in the front" - }, - "zipperLocation.side": { - "t": "Side zipper location", - "d": "The location of the zipper will be on the side" - }, - "zipperLocation.back": { - "t": "Back zipper location", - "d": "The location of the zipper will be in the back" - }, - "hem": { - "t": "Hem option", - "d": "Add a hem." - }, - "hemYes": { - "t": "Add a hem", - "d": "Add a hem at the waist" - }, - "hemNo": { - "t": "Do not add a hem", - "d": "Do not add a hem at the waist" - }, - "hemSize": { - "t": "Size of the hem", - "d": "Size of the hem, a percentage of the distance between the neckline and the waist" - }, - "lacing": { - "t": "Lacing option", - "d": "This removes part of the seam to create an opening for lacing" - }, - "lacingYes": { - "t": "Add Lacing", - "d": "Remove part of the seam to create an opening for lacing" - }, - "lacingNo": { - "t": "No lacing", - "d": "Close the seams normally" - }, - "lacingLocation": { - "t": "Location of the lacing", - "d": "Lacing in the front, or the back" - }, - "lacingLocation.back": { - "t": "Lacing in the back", - "d": "The lacing will be in the back" - }, - "lacingLocation.front": { - "t": "Lacing in the front", - "d": "The lacing will be in the front" - }, - "lacingWidth": { - "t": "Lacing width", - "d": "Width of the lacing opening" - }, - "peplum": { - "t": "Peplum", - "d": "Add a peplum" - }, - "peplumYes": { - "t": "Add a peplum", - "d": "This will generate the peplum part." - }, - "peplumNo": { - "t": "No peplum", - "d": "Pattern will be generated without a peplum" - }, - "peplumSize": { - "t": "Peplum size", - "d": "Controls the size of the peplum" - }, - "peplumFullness": { - "t": "Peplum fullness", - "d": "Controls the 'fullness' of the peplum. Basically from a half-circle to a full-circle." - } - - } -} diff --git a/designs/tristan/i18n/index.mjs b/designs/tristan/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/tristan/i18n/index.mjs +++ b/designs/tristan/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/tristan/i18n/nl.json b/designs/tristan/i18n/nl.json deleted file mode 100644 index 9951cd33621..00000000000 --- a/designs/tristan/i18n/nl.json +++ /dev/null @@ -1,182 +0,0 @@ -{ - "t": "Tristan", - "d": "Tristan is a fitted tank top with prince(ss) seams.", - "p": { - "backInside": "Back inside", - "backOutside": "Back outside", - "backPoints": "Back base", - "frontInside": "Front inside", - "frontOutside": "Front outside", - "frontPoints": "Front base", - "peplumFront": "Peplum front", - "peplumBack": "Peplum back" - }, - "s": { - "strapWidthAdjusted.t": "The strap width has been adjusted", - "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder.", - "peplumWidth.t": "Peplum size", - "peplumWidth.d": "The peplum will be {{{ peplumWidth }}} long.", - "frontOutside": "Outside front", - "frontInside": "Inside front", - "backOutside": "Outside back", - "backInside": "Inside back", - "frontPeplum": "Peplum front", - "backPeplum": "Peplum back", - "hem": "Hem" - }, - "o": { - "bustSpanEase": { - "t": "Bust span ease", - "d": "Controls the amount of ease along the bust span" - }, - "chestEase": { - "t": "Chest ease", - "d": "Controls the amount of ease at the chest" - }, - "shoulderToShoulderEase": { - "t": "Shoulder to shoulder ease", - "d": "Controls the amount of ease along the shoulder to shoulder measurement" - }, - "fullChestEaseReduction": { - "t": "Full chest ease reduction", - "d": "Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at the waist" - }, - "waistdartposition": { - "t": "Waist dart position", - "d": "Controls the position of the waist 'dart', moving it to the center (negative) or side (positive)" - }, - "frontShoulderWidth": { - "t": "Front shoulder width", - "d": "Controls how much width is added to the shoulder in the front" - }, - "highBustWidth": { - "t": "High bust width", - "d": "Controls the width of the high bust" - }, - "armholeDepth": { - "t": "Depth of the Armhole", - "d": "Controls how deep the armhole is" - }, - "cutDepthBack": { - "t": "Depth of the cut in the back", - "d": "Controls the depth of the cut in the back" - }, - "cutDepthFront": { - "t": "Depth of the cut in the front", - "d": "Controls the depth of the cut in the front" - }, - "cutRoundnessBack": { - "t": "Roundness of the cut in the back", - "d": "Controls how 'round' the cut in the back is, from V to round to square" - }, - "cutRoundnessFront": { - "t": "Roundness of the cut in the front", - "d": "Controls how 'round' the cut in the front is, from V to round to square" - }, - "shoulderDartCurvature": { - "t": "Shoulder dart curvature", - "d": "Controls the curvature of the upper part of the shoulder dart" - }, - "shoulderDartPosition": { - "t": "Shoulder dart position", - "d": "Controls the position of the shoulder dart" - }, - "strapWidth": { - "t": "Width of the straps", - "d": "Controls the width of the straps" - }, - "upperDartLength": { - "t": "Upper dart length", - "d": "Controls the length of the upper dart" - }, - "waistDartLength": { - "t": "Waist dart length", - "d": "Controls the length of the waist dart" - }, - "zipperLocation": { - "t": "Zipper location", - "d": "The location of the zipper: side, back, or front" - }, - "zipperLocation.front": { - "t": "Front zipper location", - "d": "The location of the zipper will be in the front" - }, - "zipperLocation.side": { - "t": "Side zipper location", - "d": "The location of the zipper will be on the side" - }, - "zipperLocation.back": { - "t": "Back zipper location", - "d": "The location of the zipper will be in the back" - }, - "hem": { - "t": "Hem option", - "d": "Add a hem." - }, - "hemYes": { - "t": "Add a hem", - "d": "Add a hem at the waist" - }, - "hemNo": { - "t": "Do not add a hem", - "d": "Do not add a hem at the waist" - }, - "hemSize": { - "t": "Size of the hem", - "d": "Size of the hem, a percentage of the distance between the neckline and the waist" - }, - "lacing": { - "t": "Lacing option", - "d": "This removes part of the seam to create an opening for lacing" - }, - "lacingYes": { - "t": "Add Lacing", - "d": "Remove part of the seam to create an opening for lacing" - }, - "lacingNo": { - "t": "No lacing", - "d": "Close the seams normally" - }, - "lacingLocation": { - "t": "Location of the lacing", - "d": "Lacing in the front, or the back" - }, - "lacingLocation.back": { - "t": "Lacing in the back", - "d": "The lacing will be in the back" - }, - "lacingLocation.front": { - "t": "Lacing in the front", - "d": "The lacing will be in the front" - }, - "lacingWidth": { - "t": "Lacing width", - "d": "Width of the lacing opening" - }, - "peplum": { - "t": "Peplum", - "d": "Add a peplum" - }, - "peplumYes": { - "t": "Add a peplum", - "d": "This will generate the peplum part." - }, - "peplumNo": { - "t": "No peplum", - "d": "Pattern will be generated without a peplum" - }, - "peplumSize": { - "t": "Peplum size", - "d": "Controls the size of the peplum" - }, - "peplumFullness": { - "t": "Peplum fullness", - "d": "Controls the 'fullness' of the peplum. Basically from a half-circle to a full-circle." - } - - } -} diff --git a/designs/tristan/i18n/uk.json b/designs/tristan/i18n/uk.json deleted file mode 100644 index 9951cd33621..00000000000 --- a/designs/tristan/i18n/uk.json +++ /dev/null @@ -1,182 +0,0 @@ -{ - "t": "Tristan", - "d": "Tristan is a fitted tank top with prince(ss) seams.", - "p": { - "backInside": "Back inside", - "backOutside": "Back outside", - "backPoints": "Back base", - "frontInside": "Front inside", - "frontOutside": "Front outside", - "frontPoints": "Front base", - "peplumFront": "Peplum front", - "peplumBack": "Peplum back" - }, - "s": { - "strapWidthAdjusted.t": "The strap width has been adjusted", - "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder.", - "peplumWidth.t": "Peplum size", - "peplumWidth.d": "The peplum will be {{{ peplumWidth }}} long.", - "frontOutside": "Outside front", - "frontInside": "Inside front", - "backOutside": "Outside back", - "backInside": "Inside back", - "frontPeplum": "Peplum front", - "backPeplum": "Peplum back", - "hem": "Hem" - }, - "o": { - "bustSpanEase": { - "t": "Bust span ease", - "d": "Controls the amount of ease along the bust span" - }, - "chestEase": { - "t": "Chest ease", - "d": "Controls the amount of ease at the chest" - }, - "shoulderToShoulderEase": { - "t": "Shoulder to shoulder ease", - "d": "Controls the amount of ease along the shoulder to shoulder measurement" - }, - "fullChestEaseReduction": { - "t": "Full chest ease reduction", - "d": "Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area" - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at the waist" - }, - "waistdartposition": { - "t": "Waist dart position", - "d": "Controls the position of the waist 'dart', moving it to the center (negative) or side (positive)" - }, - "frontShoulderWidth": { - "t": "Front shoulder width", - "d": "Controls how much width is added to the shoulder in the front" - }, - "highBustWidth": { - "t": "High bust width", - "d": "Controls the width of the high bust" - }, - "armholeDepth": { - "t": "Depth of the Armhole", - "d": "Controls how deep the armhole is" - }, - "cutDepthBack": { - "t": "Depth of the cut in the back", - "d": "Controls the depth of the cut in the back" - }, - "cutDepthFront": { - "t": "Depth of the cut in the front", - "d": "Controls the depth of the cut in the front" - }, - "cutRoundnessBack": { - "t": "Roundness of the cut in the back", - "d": "Controls how 'round' the cut in the back is, from V to round to square" - }, - "cutRoundnessFront": { - "t": "Roundness of the cut in the front", - "d": "Controls how 'round' the cut in the front is, from V to round to square" - }, - "shoulderDartCurvature": { - "t": "Shoulder dart curvature", - "d": "Controls the curvature of the upper part of the shoulder dart" - }, - "shoulderDartPosition": { - "t": "Shoulder dart position", - "d": "Controls the position of the shoulder dart" - }, - "strapWidth": { - "t": "Width of the straps", - "d": "Controls the width of the straps" - }, - "upperDartLength": { - "t": "Upper dart length", - "d": "Controls the length of the upper dart" - }, - "waistDartLength": { - "t": "Waist dart length", - "d": "Controls the length of the waist dart" - }, - "zipperLocation": { - "t": "Zipper location", - "d": "The location of the zipper: side, back, or front" - }, - "zipperLocation.front": { - "t": "Front zipper location", - "d": "The location of the zipper will be in the front" - }, - "zipperLocation.side": { - "t": "Side zipper location", - "d": "The location of the zipper will be on the side" - }, - "zipperLocation.back": { - "t": "Back zipper location", - "d": "The location of the zipper will be in the back" - }, - "hem": { - "t": "Hem option", - "d": "Add a hem." - }, - "hemYes": { - "t": "Add a hem", - "d": "Add a hem at the waist" - }, - "hemNo": { - "t": "Do not add a hem", - "d": "Do not add a hem at the waist" - }, - "hemSize": { - "t": "Size of the hem", - "d": "Size of the hem, a percentage of the distance between the neckline and the waist" - }, - "lacing": { - "t": "Lacing option", - "d": "This removes part of the seam to create an opening for lacing" - }, - "lacingYes": { - "t": "Add Lacing", - "d": "Remove part of the seam to create an opening for lacing" - }, - "lacingNo": { - "t": "No lacing", - "d": "Close the seams normally" - }, - "lacingLocation": { - "t": "Location of the lacing", - "d": "Lacing in the front, or the back" - }, - "lacingLocation.back": { - "t": "Lacing in the back", - "d": "The lacing will be in the back" - }, - "lacingLocation.front": { - "t": "Lacing in the front", - "d": "The lacing will be in the front" - }, - "lacingWidth": { - "t": "Lacing width", - "d": "Width of the lacing opening" - }, - "peplum": { - "t": "Peplum", - "d": "Add a peplum" - }, - "peplumYes": { - "t": "Add a peplum", - "d": "This will generate the peplum part." - }, - "peplumNo": { - "t": "No peplum", - "d": "Pattern will be generated without a peplum" - }, - "peplumSize": { - "t": "Peplum size", - "d": "Controls the size of the peplum" - }, - "peplumFullness": { - "t": "Peplum fullness", - "d": "Controls the 'fullness' of the peplum. Basically from a half-circle to a full-circle." - } - - } -} diff --git a/designs/tristan/package.json b/designs/tristan/package.json index be689f9ab14..4f15749fee0 100644 --- a/designs/tristan/package.json +++ b/designs/tristan/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/tristan", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a fitted top with prince(ss) seams", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/tristan/src/index.mjs b/designs/tristan/src/index.mjs index bf3a9aab97d..7b6199d8953 100644 --- a/designs/tristan/src/index.mjs +++ b/designs/tristan/src/index.mjs @@ -1,8 +1,6 @@ -// - import { Design } from '@freesewing/core' import { i18n } from '../i18n/index.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } // Parts import { frontPoints } from './frontpoints.mjs' import { frontInside } from './frontinside.mjs' @@ -15,7 +13,7 @@ import { peplumBack } from './peplumBack.mjs' // Create new design const Tristan = new Design({ - data, + data: about, parts: [ frontPoints, frontInside, @@ -40,4 +38,5 @@ export { peplumBack, i18n, Tristan, + about, } diff --git a/designs/tristan/tests/shared.test.mjs b/designs/tristan/tests/shared.test.mjs index 87be117e2ed..eafe0dbf0e1 100644 --- a/designs/tristan/tests/shared.test.mjs +++ b/designs/tristan/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Tristan, i18n } from '../src/index.mjs' +import { Tristan, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Tristan) +testPatternConfig(Tristan, about) // Test translation testPatternI18n(Tristan, i18n) diff --git a/designs/uma/CHANGELOG.md b/designs/uma/CHANGELOG.md index 68a2999d7af..92b3fad7b76 100644 --- a/designs/uma/CHANGELOG.md +++ b/designs/uma/CHANGELOG.md @@ -1,6 +1,16 @@ # Change log for: @freesewing/uma +## 4.0.0 (2024-04-01) + +### Changed + + - Fix absolute gusset width displayed below slider. + +### Fixed + + - Fix back exposure when expand is off. Fixes + ## 3.1.0 (2023-12-26) ### Fixed diff --git a/designs/uma/README.md b/designs/uma/README.md index 50f16f8e966..1ac37dbd1f5 100644 --- a/designs/uma/README.md +++ b/designs/uma/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:uma - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/uma @@ -59,7 +44,7 @@ A FreeSewing pattern for a basic, highly-customizable underwear pattern > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/uma/data.mjs b/designs/uma/data.mjs deleted file mode 100644 index fb6a6f9034c..00000000000 --- a/designs/uma/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/uma' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/uma/i18n/de.json b/designs/uma/i18n/de.json deleted file mode 100644 index eb2bb14c88b..00000000000 --- a/designs/uma/i18n/de.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "t": "Ursula, die Unterwäsche", - "d": "Ursula ist ein elementares, stark anpassbares Schnittmuster für Unterwäsche.", - "p": { - "back": "Rückseite", - "elastic": "Elastic", - "front": "Vorderseite", - "gusset": "Zwickel" - }, - "s": { - "cutTwoPiecesOfElasticToFinishTheLegOpenings": "Schneide zwei Stücke Gummiband um die Beinöffnungen zu versäubern", - "cutOnePieceOfElasticToFinishTheWaistBand": "Schneide ein Stück Gummiband um das Taillenband zu versäubern" - }, - "o": { - "fabricStretch": { - "t": "Stoffdehnbarkeit", - "d": "Passe dies für mehr oder weniger dehnbaren Stoff an" - }, - "gussetWidth": { - "t": "Zwickelbreite", - "d": "Steuert die Breite des Zwickels" - }, - "gussetLength": { - "t": "Zwickellänge", - "d": "Steuert die Länge des Zwickels" - }, - "elasticStretch": { - "t": "Dehnbarkeit des Gummis", - "d": "Passe dies für mehr oder weniger dehnbaren Gummi an" - }, - "rise": { - "t": "Sitz", - "d": "Steuert die Höhe der Taille" - }, - "legOpening": { - "t": "Beinöffnung", - "d": "Legt fest, wie hoch das Bein ausgeschnitten wird" - }, - "frontDip": { - "t": "Absenkung der vorderen Taille", - "d": "Steuert, wie stark die vordere Taille gekümmt ist (legt dadurch mehr oder weniger Haut frei)" - }, - "backDip": { - "t": "Absenkung hintere Taille", - "d": "Steuert, wie stark die hintere Taille gekümmt ist (legt dadurch mehr oder weniger Haut frei)" - }, - "taperToGusset": { - "t": "Vordere Freilegung", - "d": "Steuert die Menge an freigelegter Haut auf der vorderen Seite" - }, - "backExposure": { - "t": "Hintere Freilegung", - "d": "Steuert die Menge an freigelegter Haut auf der hinteren Seite" - } - } -} diff --git a/designs/uma/i18n/es.json b/designs/uma/i18n/es.json deleted file mode 100644 index 8987d550f9e..00000000000 --- a/designs/uma/i18n/es.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "t": "Ursula, braguitas", - "d": "Ursula es un patrón básico de braguitas altamente personalizable.", - "p": { - "back": "Atrás", - "elastic": "Elastic", - "front": "Frente", - "gusset": "Gusset" - }, - "s": { - "cutTwoPiecesOfElasticToFinishTheLegOpenings": "Corta dos trozos de elástico para acabar la abertura de las perneras", - "cutOnePieceOfElasticToFinishTheWaistBand": "Corta un trozo de elástico para acabar la cintura" - }, - "o": { - "fabricStretch": { - "t": "estiramiento de tela", - "d": "Ajustar esto para más o menos tela estirada" - }, - "gussetWidth": { - "t": "Gusset width", - "d": "Controla el ancho del set de ráfaga" - }, - "gussetLength": { - "t": "Longitud del Gusset", - "d": "Controla la longitud del set de ráfaga" - }, - "elasticStretch": { - "t": "Estiramiento elástico", - "d": "Ajustar esto para elástico más o menos estirado" - }, - "rise": { - "t": "Elevación de la cintura", - "d": "Controla la altura de la cintura" - }, - "legOpening": { - "t": "Apertura de la pierna", - "d": "Controla hasta qué punto se corta la pierna" - }, - "frontDip": { - "t": "Buceo de cintura frontal", - "d": "Controla cuánto son las curvas de la cintura frontal (revelando más o menos la piel)" - }, - "backDip": { - "t": "Buceo de cintura trasera", - "d": "Controla cuánto son las curvas de la cintura trasera (revelando más o menos la piel)" - }, - "taperToGusset": { - "t": "Exposición frontal", - "d": "Controla la cantidad de piel expuesta en la parte frontal" - }, - "backExposure": { - "t": "Exposición trasera", - "d": "Controla la cantidad de piel expuesta en la espalda" - } - } -} diff --git a/designs/uma/i18n/fr.json b/designs/uma/i18n/fr.json deleted file mode 100644 index e143fcd5011..00000000000 --- a/designs/uma/i18n/fr.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "t": "Unités d'Ursula", - "d": "Ursula est un motif basique et hautement personnalisable.", - "p": { - "back": "Retour", - "elastic": "Elastic", - "front": "Avant", - "gusset": "Soufflet" - }, - "s": { - "cutTwoPiecesOfElasticToFinishTheLegOpenings": "Couper deux élastiques pour finir les ouvertures des jambes", - "cutOnePieceOfElasticToFinishTheWaistBand": "Couper une pièce d'élastique pour finir la bande de taille" - }, - "o": { - "fabricStretch": { - "t": "Étendue en tissu", - "d": "Ajuster ceci pour des tissus plus ou moins extensifs" - }, - "gussetWidth": { - "t": "Gusset width", - "d": "Contrôle la largeur du gusset" - }, - "gussetLength": { - "t": "Longueur du Gusset", - "d": "Contrôle la longueur du gusset" - }, - "elasticStretch": { - "t": "Etendue élastique", - "d": "Ajuster ceci pour un élastique plus ou moins extensif" - }, - "rise": { - "t": "Élévation de ceinture", - "d": "Contrôle la hauteur de la taille" - }, - "legOpening": { - "t": "Ouverture des jambes", - "d": "Contrôle la hauteur de la jambe découpée" - }, - "frontDip": { - "t": "tremper la taille de la taille avant", - "d": "Contrôle la quantité de courbes de la taille avant (révélant plus ou moins la peau)" - }, - "backDip": { - "t": "trempette à taille arrière", - "d": "Contrôle la quantité de courbes de la taille arrière (révélant plus ou moins la peau)" - }, - "taperToGusset": { - "t": "Exposition frontale", - "d": "Contrôle la quantité de peau exposée à l'avant" - }, - "backExposure": { - "t": "Exposition au dos", - "d": "Contrôle la quantité de peau exposée au dos" - } - } -} diff --git a/designs/uma/i18n/index.mjs b/designs/uma/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/uma/i18n/index.mjs +++ b/designs/uma/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/uma/i18n/nl.json b/designs/uma/i18n/nl.json deleted file mode 100644 index 6dcd96e099f..00000000000 --- a/designs/uma/i18n/nl.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "t": "Ursula undies", - "d": "Ursula is een fundamenteel, zeer aanpasbaar ondergoed patroon.", - "p": { - "back": "Achterzijde", - "elastic": "Elastic", - "front": "Voorzijde", - "gusset": "Gusset" - }, - "s": { - "cutTwoPiecesOfElasticToFinishTheLegOpenings": "Cut two pieces of elastic to finish the leg openings", - "cutOnePieceOfElasticToFinishTheWaistBand": "Cut one piece of elastic to finish the waist band" - }, - "o": { - "fabricStretch": { - "t": "Stof stretch", - "d": "Pas dit aan voor meer of minder elastische stoffen" - }, - "gussetWidth": { - "t": "Gusset width", - "d": "Bepaalt de breedte van de gusset" - }, - "gussetLength": { - "t": "Gusset lengte", - "d": "Bepaalt de lengte van de gusset" - }, - "elasticStretch": { - "t": "Elastische stretch", - "d": "Pas dit aan voor meer of minder elastische elastiek" - }, - "rise": { - "t": "Hoogte", - "d": "Bepaalt de hoogte van de taille" - }, - "legOpening": { - "t": "Been opening", - "d": "Bepaalt hoe hoog de broekspijp wordt uitgeknipt" - }, - "frontDip": { - "t": "Voorste taille dip", - "d": "Bepaalt hoeveel de taillecurven vooraan tonen (min of meer skin)" - }, - "backDip": { - "t": "Achterste dip taille", - "d": "Bepaalt hoeveel de omgekeerde golfcurves (min of meer skin onthullen)" - }, - "taperToGusset": { - "t": "Blootstelling voorzijde", - "d": "Bepaalt de hoeveelheid blootgestelde huid aan de voorkant" - }, - "backExposure": { - "t": "Blootstelling rug", - "d": "Bepaalt de hoeveelheid gelekte huid aan de achterkant" - } - } -} diff --git a/designs/uma/i18n/uk.json b/designs/uma/i18n/uk.json deleted file mode 100644 index 920dd69b8a8..00000000000 --- a/designs/uma/i18n/uk.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "t": "Ursula undies", - "d": "Ursula is a basic, highly-customizable underwear pattern.", - "p": { - "back": "Back", - "elastic": "Elastic", - "front": "Front", - "gusset": "Gusset" - }, - "s": { - "cutTwoPiecesOfElasticToFinishTheLegOpenings": "Cut two pieces of elastic to finish the leg openings", - "cutOnePieceOfElasticToFinishTheWaistBand": "Cut one piece of elastic to finish the waist band" - }, - "o": { - "fabricStretch": { - "t": "Fabric stretch", - "d": "Adjust this for more or less stretchy fabrics" - }, - "gussetWidth": { - "t": "Gusset width", - "d": "Controls the width of the gusset" - }, - "gussetLength": { - "t": "Gusset length", - "d": "Controls the length of the gusset" - }, - "elasticStretch": { - "t": "Elastic stretch", - "d": "Adjust this for more or less stretchy elastic" - }, - "rise": { - "t": "Rise", - "d": "Controls the height of the waist" - }, - "legOpening": { - "t": "Leg opening", - "d": "Controls how high the leg is cut out" - }, - "frontDip": { - "t": "Front waist dip", - "d": "Controls how much the front waist curves (revealing more or less skin)" - }, - "backDip": { - "t": "Back waist dip", - "d": "Controls how much the back waist curves (revealing more or less skin)" - }, - "taperToGusset": { - "t": "Front exposure", - "d": "Controls the amount of exposed skin on the front" - }, - "backExposure": { - "t": "Back exposure", - "d": "Controls the amount of exposed skin on the back" - } - } -} diff --git a/designs/uma/package.json b/designs/uma/package.json index 7dc4ee5b607..116707d5ce9 100644 --- a/designs/uma/package.json +++ b/designs/uma/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/uma", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a basic, highly-customizable underwear pattern", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/uma/src/index.mjs b/designs/uma/src/index.mjs index 94246187022..1405672c94e 100644 --- a/designs/uma/src/index.mjs +++ b/designs/uma/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { base } from './base.mjs' import { back } from './back.mjs' @@ -9,19 +9,12 @@ import { gusset } from './gusset.mjs' /* * Let core bake a new design for us */ -const Uma = new Design({ data, parts: [base, back, front, gusset] }) +const Uma = new Design({ + data: about, + parts: [base, back, front, gusset], +}) /* * Named exports */ -export { - // Individual parts - base, - back, - front, - gusset, - // The Uma design itself - Uma, - // Translations - i18n, -} +export { base, back, front, gusset, Uma, i18n, about } diff --git a/designs/uma/tests/shared.test.mjs b/designs/uma/tests/shared.test.mjs index 389a026100a..a4e2ab61826 100644 --- a/designs/uma/tests/shared.test.mjs +++ b/designs/uma/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Uma, i18n } from '../src/index.mjs' +import { Uma, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Uma) +testPatternConfig(Uma, about) // Test translation testPatternI18n(Uma, i18n) diff --git a/designs/umbra/README.md b/designs/umbra/README.md index 906fad49aa0..8645014490b 100644 --- a/designs/umbra/README.md +++ b/designs/umbra/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:umbra - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/umbra @@ -59,7 +44,7 @@ A FreeSewing pattern for a basic, highly-customizable underwear pattern > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/umbra/data.mjs b/designs/umbra/data.mjs deleted file mode 100644 index 948a2c0b21f..00000000000 --- a/designs/umbra/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/umbra' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/umbra/i18n/de.json b/designs/umbra/i18n/de.json deleted file mode 100644 index 264e56d9460..00000000000 --- a/designs/umbra/i18n/de.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "t": "Umbra, die Unterwäsche", - "d": "Umbra ist ein elementares, stark anpassbares Schnittmuster für Unterwäsche.", - "p": { - "back": "Rückseite", - "elastic": "Elastic", - "front": "Vorderseite", - "gusset": "Zwickel" - }, - "s": { - "cutTwoPiecesOfElasticToFinishTheLegOpenings": "Schneide zwei Stücke Gummiband um die Beinöffnungen zu versäubern", - "cutOnePieceOfElasticToFinishTheWaistBand": "Schneide ein Stück Gummiband um das Taillenband zu versäubern" - }, - "o": { - "fabricStretch": { - "t": "Stoffdehnbarkeit", - "d": "Passe dies für mehr oder weniger dehnbaren Stoff an" - }, - "gussetWidth": { - "t": "Zwickelbreite", - "d": "Steuert die Breite des Zwickels" - }, - "gussetLength": { - "t": "Zwickellänge", - "d": "Steuert die Länge des Zwickels" - }, - "elasticStretch": { - "t": "Dehnbarkeit des Gummis", - "d": "Passe dies für mehr oder weniger dehnbaren Gummi an" - }, - "rise": { - "t": "Sitz", - "d": "Steuert die Höhe der Taille" - }, - "legOpening": { - "t": "Beinöffnung", - "d": "Legt fest, wie hoch das Bein ausgeschnitten wird" - }, - "frontDip": { - "t": "Absenkung der vorderen Taille", - "d": "Steuert, wie stark die vordere Taille gekümmt ist (legt dadurch mehr oder weniger Haut frei)" - }, - "backDip": { - "t": "Absenkung hintere Taille", - "d": "Steuert, wie stark die hintere Taille gekümmt ist (legt dadurch mehr oder weniger Haut frei)" - }, - "taperToGusset": { - "t": "Vordere Freilegung", - "d": "Steuert die Menge an freigelegter Haut auf der vorderen Seite" - }, - "backExposure": { - "t": "Hintere Freilegung", - "d": "Steuert die Menge an freigelegter Haut auf der hinteren Seite" - } - } -} diff --git a/designs/umbra/i18n/es.json b/designs/umbra/i18n/es.json deleted file mode 100644 index 16b35cda164..00000000000 --- a/designs/umbra/i18n/es.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "t": "Umbra, braguitas", - "d": "Umbra es un patrón básico de braguitas altamente personalizable.", - "p": { - "back": "Atrás", - "elastic": "Elastic", - "front": "Frente", - "gusset": "Gusset" - }, - "s": { - "cutTwoPiecesOfElasticToFinishTheLegOpenings": "Corta dos trozos de elástico para acabar la abertura de las perneras", - "cutOnePieceOfElasticToFinishTheWaistBand": "Corta un trozo de elástico para acabar la cintura" - }, - "o": { - "fabricStretch": { - "t": "estiramiento de tela", - "d": "Ajustar esto para más o menos tela estirada" - }, - "gussetWidth": { - "t": "Gusset width", - "d": "Controla el ancho del set de ráfaga" - }, - "gussetLength": { - "t": "Longitud del Gusset", - "d": "Controla la longitud del set de ráfaga" - }, - "elasticStretch": { - "t": "Estiramiento elástico", - "d": "Ajustar esto para elástico más o menos estirado" - }, - "rise": { - "t": "Elevación de la cintura", - "d": "Controla la altura de la cintura" - }, - "legOpening": { - "t": "Apertura de la pierna", - "d": "Controla hasta qué punto se corta la pierna" - }, - "frontDip": { - "t": "Buceo de cintura frontal", - "d": "Controla cuánto son las curvas de la cintura frontal (revelando más o menos la piel)" - }, - "backDip": { - "t": "Buceo de cintura trasera", - "d": "Controla cuánto son las curvas de la cintura trasera (revelando más o menos la piel)" - }, - "taperToGusset": { - "t": "Exposición frontal", - "d": "Controla la cantidad de piel expuesta en la parte frontal" - }, - "backExposure": { - "t": "Exposición trasera", - "d": "Controla la cantidad de piel expuesta en la espalda" - } - } -} diff --git a/designs/umbra/i18n/fr.json b/designs/umbra/i18n/fr.json deleted file mode 100644 index dc5a3b5eb35..00000000000 --- a/designs/umbra/i18n/fr.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "t": "Unités d'Umbra", - "d": "Umbra est un motif basique et hautement personnalisable.", - "p": { - "back": "Retour", - "elastic": "Elastic", - "front": "Avant", - "gusset": "Soufflet" - }, - "s": { - "cutTwoPiecesOfElasticToFinishTheLegOpenings": "Couper deux élastiques pour finir les ouvertures des jambes", - "cutOnePieceOfElasticToFinishTheWaistBand": "Couper une pièce d'élastique pour finir la bande de taille" - }, - "o": { - "fabricStretch": { - "t": "Étendue en tissu", - "d": "Ajuster ceci pour des tissus plus ou moins extensifs" - }, - "gussetWidth": { - "t": "Gusset width", - "d": "Contrôle la largeur du gusset" - }, - "gussetLength": { - "t": "Longueur du Gusset", - "d": "Contrôle la longueur du gusset" - }, - "elasticStretch": { - "t": "Etendue élastique", - "d": "Ajuster ceci pour un élastique plus ou moins extensif" - }, - "rise": { - "t": "Élévation de ceinture", - "d": "Contrôle la hauteur de la taille" - }, - "legOpening": { - "t": "Ouverture des jambes", - "d": "Contrôle la hauteur de la jambe découpée" - }, - "frontDip": { - "t": "tremper la taille de la taille avant", - "d": "Contrôle la quantité de courbes de la taille avant (révélant plus ou moins la peau)" - }, - "backDip": { - "t": "trempette à taille arrière", - "d": "Contrôle la quantité de courbes de la taille arrière (révélant plus ou moins la peau)" - }, - "taperToGusset": { - "t": "Exposition frontale", - "d": "Contrôle la quantité de peau exposée à l'avant" - }, - "backExposure": { - "t": "Exposition au dos", - "d": "Contrôle la quantité de peau exposée au dos" - } - } -} diff --git a/designs/umbra/i18n/index.mjs b/designs/umbra/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/umbra/i18n/index.mjs +++ b/designs/umbra/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/umbra/i18n/nl.json b/designs/umbra/i18n/nl.json deleted file mode 100644 index bf706ea3331..00000000000 --- a/designs/umbra/i18n/nl.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "t": "Umbra undies", - "d": "Umbra is een fundamenteel, zeer aanpasbaar ondergoed patroon.", - "p": { - "back": "Achterzijde", - "elastic": "Elastic", - "front": "Voorzijde", - "gusset": "Gusset" - }, - "s": { - "cutTwoPiecesOfElasticToFinishTheLegOpenings": "Cut two pieces of elastic to finish the leg openings", - "cutOnePieceOfElasticToFinishTheWaistBand": "Cut one piece of elastic to finish the waist band" - }, - "o": { - "fabricStretch": { - "t": "Stof stretch", - "d": "Pas dit aan voor meer of minder elastische stoffen" - }, - "gussetWidth": { - "t": "Gusset width", - "d": "Bepaalt de breedte van de gusset" - }, - "gussetLength": { - "t": "Gusset lengte", - "d": "Bepaalt de lengte van de gusset" - }, - "elasticStretch": { - "t": "Elastische stretch", - "d": "Pas dit aan voor meer of minder elastische elastiek" - }, - "rise": { - "t": "Hoogte", - "d": "Bepaalt de hoogte van de taille" - }, - "legOpening": { - "t": "Been opening", - "d": "Bepaalt hoe hoog de broekspijp wordt uitgeknipt" - }, - "frontDip": { - "t": "Voorste taille dip", - "d": "Bepaalt hoeveel de taillecurven vooraan tonen (min of meer skin)" - }, - "backDip": { - "t": "Achterste dip taille", - "d": "Bepaalt hoeveel de omgekeerde golfcurves (min of meer skin onthullen)" - }, - "taperToGusset": { - "t": "Blootstelling voorzijde", - "d": "Bepaalt de hoeveelheid blootgestelde huid aan de voorkant" - }, - "backExposure": { - "t": "Blootstelling rug", - "d": "Bepaalt de hoeveelheid gelekte huid aan de achterkant" - } - } -} diff --git a/designs/umbra/i18n/uk.json b/designs/umbra/i18n/uk.json deleted file mode 100644 index db8921f3faf..00000000000 --- a/designs/umbra/i18n/uk.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "t": "Umbra undies", - "d": "Umbra is a basic, highly-customizable underwear pattern.", - "p": { - "back": "Back", - "elastic": "Elastic", - "front": "Front", - "gusset": "Gusset" - }, - "s": { - "cutTwoPiecesOfElasticToFinishTheLegOpenings": "Cut two pieces of elastic to finish the leg openings", - "cutOnePieceOfElasticToFinishTheWaistBand": "Cut one piece of elastic to finish the waist band" - }, - "o": { - "fabricStretch": { - "t": "Fabric stretch", - "d": "Adjust this for more or less stretchy fabrics" - }, - "gussetWidth": { - "t": "Gusset width", - "d": "Controls the width of the gusset" - }, - "gussetLength": { - "t": "Gusset length", - "d": "Controls the length of the gusset" - }, - "elasticStretch": { - "t": "Elastic stretch", - "d": "Adjust this for more or less stretchy elastic" - }, - "rise": { - "t": "Rise", - "d": "Controls the height of the waist" - }, - "legOpening": { - "t": "Leg opening", - "d": "Controls how high the leg is cut out" - }, - "frontDip": { - "t": "Front waist dip", - "d": "Controls how much the front waist curves (revealing more or less skin)" - }, - "backDip": { - "t": "Back waist dip", - "d": "Controls how much the back waist curves (revealing more or less skin)" - }, - "taperToGusset": { - "t": "Front exposure", - "d": "Controls the amount of exposed skin on the front" - }, - "backExposure": { - "t": "Back exposure", - "d": "Controls the amount of exposed skin on the back" - } - } -} diff --git a/designs/umbra/package.json b/designs/umbra/package.json index e21d0456d3e..9447c50bdde 100644 --- a/designs/umbra/package.json +++ b/designs/umbra/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/umbra", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a basic, highly-customizable underwear pattern", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/umbra/src/index.mjs b/designs/umbra/src/index.mjs index faf32fbca8f..ab7e9db3a01 100644 --- a/designs/umbra/src/index.mjs +++ b/designs/umbra/src/index.mjs @@ -3,26 +3,17 @@ import { i18n } from '../i18n/index.mjs' import { base } from './base.mjs' import { back } from './back.mjs' import { front } from './front.mjs' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } /* * Let core bake a new design for us */ const Umbra = new Design({ - data, + data: about, parts: [base, back, front], }) /* * Named exports */ -export { - // Individual parts - base, - back, - front, - // The Umbra design itself - Umbra, - // Translations - i18n, -} +export { base, back, front, Umbra, i18n, about } diff --git a/designs/umbra/tests/shared.test.mjs b/designs/umbra/tests/shared.test.mjs index 77dd2467aa0..2305161ff52 100644 --- a/designs/umbra/tests/shared.test.mjs +++ b/designs/umbra/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Umbra, i18n } from '../src/index.mjs' +import { Umbra, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Umbra) +testPatternConfig(Umbra, about) // Test translation testPatternI18n(Umbra, i18n) diff --git a/designs/wahid/CHANGELOG.md b/designs/wahid/CHANGELOG.md index 9972ff5ee4e..b15d9c8f4f9 100644 --- a/designs/wahid/CHANGELOG.md +++ b/designs/wahid/CHANGELOG.md @@ -1,6 +1,12 @@ # Change log for: @freesewing/wahid +## 4.0.0 (2024-04-01) + +### Changed + + - Add a warning when waist and hip reduction are both zero, so no back dart is required. + ## 3.0.0 (2023-09-30) ### Changed diff --git a/designs/wahid/README.md b/designs/wahid/README.md index d62ab251bfe..700f5d105b7 100644 --- a/designs/wahid/README.md +++ b/designs/wahid/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:wahid - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/wahid @@ -59,7 +44,7 @@ A FreeSewing pattern for a classic fitted waistcoat > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/wahid/data.mjs b/designs/wahid/data.mjs deleted file mode 100644 index 7b03a1e0d00..00000000000 --- a/designs/wahid/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/wahid' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/wahid/i18n/de.json b/designs/wahid/i18n/de.json deleted file mode 100644 index 72588dd405b..00000000000 --- a/designs/wahid/i18n/de.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "t": "Wahid, die Weste", - "d": "Wahid ist eine klassische taillierte Weste.", - "p": { - "back": "Rückseite", - "front": "Vorderseite", - "frontFacing": "Besatz Vorderseite", - "frontLining": "Futter Vorderseite", - "pocketBag": "Taschenbeutel", - "pocketFacing": "Taschenbesatz", - "pocketInterfacing": "Tascheneinlage", - "pocketWelt": "Taschenpaspel" - }, - "s": {}, - "o": { - "backScyeDart": { - "t": "Rückwärtige Armlochabnäher", - "d": "Die Menge, die in einem Abnäher hinten am Armloch entnommen werden muss." - }, - "frontScyeDart": { - "t": "Vorderer Armlochabnäher", - "d": "Die Menge, die in einem Abnäher an der Vorderseite des Armlochs entnommen werden muss." - }, - "pocketLocation": { - "t": "Taschenplatzierung", - "d": "Bestimmt die Platzierung der Tasche" - }, - "pocketWidth": { - "t": "Taschenbreite", - "d": "Bestimmt die Breite der Tasche" - }, - "weltHeight": { - "t": "Paspelhöhe", - "d": "Bestimmt die Höhe der Paspel" - }, - "necklineDrop": { - "t": "Ausschnitt Tiefe", - "d": "Legt fest, wie tief der Ausschnitt vorne ausgeschnitten ist" - }, - "frontStyle": { - "t": "Ausschnittstil", - "d": "Stil des Ausschnitts" - }, - "hemStyle": { - "t": "Saumstil", - "d": "Art des vorderen Saums" - }, - "hemRadius": { - "t": "Saumradius", - "d": "Der Betrag, um den der Saum gerundet ist" - }, - "backInset": { - "t": "Rückseite Ausschnitt", - "d": "Wie viel die Rückseite des Armlochs nach innen verschoben ist" - }, - "frontInset": { - "t": "Vorderseite Ausschnitt", - "d": "Wieviel das Armloch an der Vorderseite nach innen verschoben wird" - }, - "shoulderInset": { - "t": "Schulterversatz nach innen", - "d": "Wieviel die Schulternaht nach innen Richtung Schulter versetzt wird" - }, - "neckInset": { - "t": "Nackenauschnitt", - "d": "Wieviel die Schulternaht am Nacken nach innen versetzt wird" - }, - "pocketAngle": { - "t": "Winkel der Tasche", - "d": "Winkel der Taschenneigung" - } - } -} diff --git a/designs/wahid/i18n/es.json b/designs/wahid/i18n/es.json deleted file mode 100644 index 11eaffac993..00000000000 --- a/designs/wahid/i18n/es.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "t": "Wahid, chaleco", - "d": "Wahid es el clásico chaleco entallado.", - "p": { - "back": "Atrás", - "front": "Frente", - "frontFacing": "Delantero mirando hacia", - "frontLining": "Delantero revestimiento", - "pocketBag": "Bolsa de bolsillo", - "pocketFacing": "Cara de bolsillo", - "pocketInterfacing": "Entretela de bolsillo", - "pocketWelt": "Ribete de bolsillo" - }, - "s": {}, - "o": { - "backScyeDart": { - "t": "Pinza posterior de la sisa", - "d": "La cantidad a reducir en una pinza en la parte posterior de la sisa." - }, - "frontScyeDart": { - "t": "Pinza frontal de la sisa", - "d": "La cantidad a reducir en una pinza en el frente de la sisa." - }, - "pocketLocation": { - "t": "Ubicación de bolsillo", - "d": "Determina la colocación del bolsillo" - }, - "pocketWidth": { - "t": "Anchura de bolsillo", - "d": "La anchura del bolsillo" - }, - "weltHeight": { - "t": "Altura de verdugón del bolsillo", - "d": "La altura de verdugón del bolsillo." - }, - "necklineDrop": { - "t": "Caída del cuello", - "d": "Determina lo bajo que cae la línea de cuello en la parte delantera" - }, - "frontStyle": { - "t": "Estilo de la apertura del cuello", - "d": "Estilo de apertura del cuello" - }, - "hemStyle": { - "t": "Estilo del dobladillo", - "d": "Estilo del dobladillo delantero" - }, - "hemRadius": { - "t": "Radio del dobladillo", - "d": "Radio por el que el dobladillo es redondeado" - }, - "backInset": { - "t": "Inserción trasera", - "d": "Cuánto de la parte de atrás de la sisa se corta hacia el interior" - }, - "frontInset": { - "t": "Inserción delantera", - "d": "Cuánto de la parte de delante de la sisa se corta hacia el interior" - }, - "shoulderInset": { - "t": "Inserción de hombro", - "d": "Cuánto la costura del hombro se recorta hacia el interior en el hombro" - }, - "neckInset": { - "t": "Inserción de cuello", - "d": "Cuánto de la costura del hombro se corta hacia el interior en el cuello" - }, - "pocketAngle": { - "t": "Ángulo del bolsillo", - "d": "Ángulo del forro del bolsillo" - } - } -} diff --git a/designs/wahid/i18n/fr.json b/designs/wahid/i18n/fr.json deleted file mode 100644 index 0cad9b6e61f..00000000000 --- a/designs/wahid/i18n/fr.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "t": "Gilet Wahid", - "d": "Wahid est un gilet classique ajusté.", - "p": { - "back": "Retour", - "front": "Avant", - "frontFacing": "Doublure avant", - "frontLining": "Doublure avant", - "pocketBag": "Sac de poche", - "pocketFacing": "Parement de poche", - "pocketInterfacing": "Entoilage de poche", - "pocketWelt": "Rabat de poche" - }, - "s": {}, - "o": { - "backScyeDart": { - "t": "Pince de carrure", - "d": "La valeur à retirer dans une pince de carrure (à l'emmanchure arrière)." - }, - "frontScyeDart": { - "t": "Pince d'emmanchure", - "d": "La quantité à retirer de la pince à l'avant de l'emmanchure." - }, - "pocketLocation": { - "t": "Emplacement de poche", - "d": "Détermine l'emplacement de la poche" - }, - "pocketWidth": { - "t": "Largeur de poche", - "d": "Détermine la largeur de la poche" - }, - "weltHeight": { - "t": "Hauteur du revers de poche", - "d": "Détermine la hauteur du revers de poche" - }, - "necklineDrop": { - "t": "Décolleté", - "d": "Détermine la profondeur d'encolure sur le devant" - }, - "frontStyle": { - "t": "Style d'encolure", - "d": "Style de l'encolure" - }, - "hemStyle": { - "t": "Type d'ourlet", - "d": "Style de l'ourlet avant" - }, - "hemRadius": { - "t": "Arrondi d'ourlet", - "d": "Rayon avec lequel l'ourlet est arrondi" - }, - "backInset": { - "t": "Échancrure emmanchure arrière", - "d": "A quel point l'arrière de l'emmanchure est coupée vers l'intérieur" - }, - "frontInset": { - "t": "Échancrure emmanchure avant", - "d": "A quel point l'avant de l'emmanchure est coupée vers l'intérieur" - }, - "shoulderInset": { - "t": "Réduction d'épaule", - "d": "A quel point la couture d'épaule est éloignée des épaules" - }, - "neckInset": { - "t": "Échancrure cou", - "d": "A quel point la couture d'épaule est éloignée du cou" - }, - "pocketAngle": { - "t": "Angle de poche", - "d": "Angle de l'ouverture de poche" - } - } -} diff --git a/designs/wahid/i18n/index.mjs b/designs/wahid/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/wahid/i18n/index.mjs +++ b/designs/wahid/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/wahid/i18n/nl.json b/designs/wahid/i18n/nl.json deleted file mode 100644 index fcb1854f61a..00000000000 --- a/designs/wahid/i18n/nl.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "t": "Wahid gilet", - "d": "Wahid is een klassiek aansluitend gilet.", - "p": { - "back": "Achterzijde", - "front": "Voorzijde", - "frontFacing": "Beleg vooraan", - "frontLining": "Voering vooraan", - "pocketBag": "Binnenzak", - "pocketFacing": "Zak beleg", - "pocketInterfacing": "Tussenvoering zak", - "pocketWelt": "Paspel zak" - }, - "s": {}, - "o": { - "backScyeDart": { - "t": "Achterste armsgat neep", - "d": "De hoeveelheid die verwijderd wordt met een neep aan de achterkant van het armsgat." - }, - "frontScyeDart": { - "t": "Neep armsgat voor", - "d": "De hoeveelheid die verwijderd wordt met een neep aan de voorkant van het armsgat." - }, - "pocketLocation": { - "t": "Locatie van de zak", - "d": "Bepaalt de locatie van de zak" - }, - "pocketWidth": { - "t": "Breedte van de zak", - "d": "Bepaalt de breedte van de zak" - }, - "weltHeight": { - "t": "Hoogte paspel zak", - "d": "De hoogte van de paspel van de zak" - }, - "necklineDrop": { - "t": "Hoogte halslijn", - "d": "Bepaalt hoe laag de halslijn vooraan wordt" - }, - "frontStyle": { - "t": "Stijl halsopening", - "d": "Stijl van de halsopening" - }, - "hemStyle": { - "t": "Vorm zoom", - "d": "De vorm van de zoom vooraan" - }, - "hemRadius": { - "t": "Ronding zoom", - "d": "De straal van de ronding van de zoom" - }, - "backInset": { - "t": "Insnede rug", - "d": "Hoeveel het armsgat achteraan naar binnen gaat" - }, - "frontInset": { - "t": "Insnede voorpand", - "d": "Hoeveel het armsgat vooraan naar binnen gaat" - }, - "shoulderInset": { - "t": "Insnede schouder", - "d": "Hoeveel de schoudernaad aan de schouder naar binnen gaat" - }, - "neckInset": { - "t": "Insnede nek", - "d": "Hoeveel de schoudernaad aan de hals naar binnen gaat" - }, - "pocketAngle": { - "t": "Hoek zak", - "d": "De hoek van de zakopening" - } - } -} diff --git a/designs/wahid/i18n/uk.json b/designs/wahid/i18n/uk.json deleted file mode 100644 index c5b040f4722..00000000000 --- a/designs/wahid/i18n/uk.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "t": "Wahid waistcoat", - "d": "Wahid is a classic fitted waistcoat.", - "p": { - "back": "Back", - "front": "Front", - "frontFacing": "Front facing", - "frontLining": "Front lining", - "pocketBag": "Pocket bag", - "pocketFacing": "Pocket facing", - "pocketInterfacing": "Pocket interfacing", - "pocketWelt": "Pocket welt" - }, - "s": {}, - "o": { - "backScyeDart": { - "t": "Back scye dart", - "d": "The amount to take out in a dart at the back of the armhole." - }, - "frontScyeDart": { - "t": "Front scye dart", - "d": "The amount to take out in a dart at the front of the armhole." - }, - "pocketLocation": { - "t": "Pocket location", - "d": "Determines the placement of the pocket" - }, - "pocketWidth": { - "t": "Pocket width", - "d": "Determines the width of the pocket" - }, - "weltHeight": { - "t": "Welt height", - "d": "Determines the height of the welt" - }, - "necklineDrop": { - "t": "Neckline drop", - "d": "Determines how low the neckline drops at the front" - }, - "frontStyle": { - "t": "Neck opening style", - "d": "Style of the neck opening" - }, - "hemStyle": { - "t": "Hem style", - "d": "Style of the front hem" - }, - "hemRadius": { - "t": "Hem radius", - "d": "Radius by which the hem is rounded" - }, - "backInset": { - "t": "Back inset", - "d": "How much the back of the armhole is cut inwards" - }, - "frontInset": { - "t": "Front inset", - "d": "How much the front of the armhole is cut inwards" - }, - "shoulderInset": { - "t": "Shoulder inset", - "d": "How much the shoulder seam is cut inwards at the shoulder" - }, - "neckInset": { - "t": "Neck inset", - "d": "How much the shoulder seam is cut inwards at the neck" - }, - "pocketAngle": { - "t": "Pocket angle", - "d": "Angle of the pocket slant" - }, - "buttons": { - "t": "Buttons", - "d": "The amount of buttons to use." - }, - "waistEase": { - "t": "Waist ease", - "d": "Controls the amount of ease at the waist." - }, - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at the hips." - }, - "centerBackDart": { - "t": "Center back dart", - "d": "Whether or not to include a center back dart to fit a rounded back." - } - } -} diff --git a/designs/wahid/package.json b/designs/wahid/package.json index a9bfef58b88..f5cdfff10a6 100644 --- a/designs/wahid/package.json +++ b/designs/wahid/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/wahid", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a classic fitted waistcoat", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -25,50 +25,41 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/brian": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/brian": "4.0.0", + "@freesewing/plugin-bust": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/wahid/src/index.mjs b/designs/wahid/src/index.mjs index c81bb514a36..4e5b0302722 100644 --- a/designs/wahid/src/index.mjs +++ b/designs/wahid/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as wahidI18n } from '../i18n/index.mjs' import { front } from './front.mjs' @@ -13,7 +13,7 @@ import { pocketInterfacing } from './pocketinterfacing.mjs' // Setup our new design const Wahid = new Design({ - data, + data: about, parts: [ front, back, @@ -43,4 +43,5 @@ export { pocketInterfacing, Wahid, i18n, + about, } diff --git a/designs/wahid/tests/shared.test.mjs b/designs/wahid/tests/shared.test.mjs index 7762191ccae..11a542a315a 100644 --- a/designs/wahid/tests/shared.test.mjs +++ b/designs/wahid/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Wahid, i18n } from '../src/index.mjs' +import { Wahid, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Wahid) +testPatternConfig(Wahid, about) // Test translation testPatternI18n(Wahid, i18n) diff --git a/designs/walburga/README.md b/designs/walburga/README.md index 16b3ebcc3ec..d2f6c975ae1 100644 --- a/designs/walburga/README.md +++ b/designs/walburga/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:walburga - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/walburga @@ -59,7 +44,7 @@ A FreeSewing pattern for a wappenrock (tabard/surcoat), a historical Europe > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/walburga/data.mjs b/designs/walburga/data.mjs deleted file mode 100644 index 7cbda9351db..00000000000 --- a/designs/walburga/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/walburga' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/walburga/i18n/de.json b/designs/walburga/i18n/de.json deleted file mode 100644 index 6ebc8f17eb9..00000000000 --- a/designs/walburga/i18n/de.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "t": "Walburga, der Wappenrock", - "d": "Walburga ist ein Wappenrock, ein historisches Gewand aus dem mittelalterlichen Europa", - "p": { - "back": "Rückseite", - "front": "Vorderseite" - }, - "s": {}, - "o": { - "headRatio": { - "t": "Kopfgrößenverhältnis", - "d": "Steuert die Größe der Kopföffnung" - }, - "lengthBonus": { - "t": "Längenzugabe", - "d": "Erlaubt Variation der Länge des Kleidungsstücks" - }, - "widthBonus": { - "t": "Breitenzugabe", - "d": "Erlaubt Variation der Breite des Kleidungsstücks" - }, - "length": { - "t": "Länge", - "d": "Steuert die Länge des Kleidungsstückes" - }, - "neckoRatio": { - "t": "Form des Halsausschnittes", - "d": "Steuert die Form des Halsausschnittes" - }, - "neckline": { - "t": "Halsausschnitt", - "d": "Bestimmt, ob ein Halsausschnit erstellt werden soll oder nicht" - } - } -} diff --git a/designs/walburga/i18n/es.json b/designs/walburga/i18n/es.json deleted file mode 100644 index bddb08bff8a..00000000000 --- a/designs/walburga/i18n/es.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "t": "Walburga, tabardo", - "d": "Walburga es un tabardo o sobreveste, una prenda histórica de la Europa medieval", - "p": { - "back": "Atrás", - "front": "Frente" - }, - "s": {}, - "o": { - "headRatio": { - "t": "Head ratio", - "d": "Controls the size of the head opening" - }, - "lengthBonus": { - "t": "Bonus de longitud", - "d": "Allows variation of the length of the garment" - }, - "widthBonus": { - "t": "Width bonus", - "d": "Allows variation of the width of the garment" - }, - "length": { - "t": "Longitud", - "d": "Controls the length of the garment" - }, - "neckoRatio": { - "t": "Neck opening shape", - "d": "controls the shape of the neck opening" - }, - "neckline": { - "t": "Neckline", - "d": "Controls whether or not to draft a neck opening" - } - } -} diff --git a/designs/walburga/i18n/fr.json b/designs/walburga/i18n/fr.json deleted file mode 100644 index 7d98496ca6d..00000000000 --- a/designs/walburga/i18n/fr.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "t": "Tabard Walburga", - "d": "Walburga est un tabard/surcot, un vêtement historique de l'Europe médiévale", - "p": { - "back": "Retour", - "front": "Avant" - }, - "s": {}, - "o": { - "headRatio": { - "t": "Ratio de tête", - "d": "Contrôle la taille de l'ouverture de la tête" - }, - "lengthBonus": { - "t": "Supplément de longueur", - "d": "Permet de varier la longueur du vêtement" - }, - "widthBonus": { - "t": "Bonus de largeur", - "d": "Permet de varier la largeur du vêtement" - }, - "length": { - "t": "Longueur", - "d": "Contrôle la longueur du vêtement" - }, - "neckoRatio": { - "t": "Forme de l'encolure", - "d": "contrôle la forme de l'encolure" - }, - "neckline": { - "t": "Ligne d'encolure", - "d": "Contrôle si oui ou non il faut tracer un encolure" - } - } -} diff --git a/designs/walburga/i18n/index.mjs b/designs/walburga/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/walburga/i18n/index.mjs +++ b/designs/walburga/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/walburga/i18n/nl.json b/designs/walburga/i18n/nl.json deleted file mode 100644 index 56872f0534e..00000000000 --- a/designs/walburga/i18n/nl.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "t": "Walburga Wappenrock", - "d": "Walburga is a tabard/surcoat, a historical garment from medieval Europe", - "p": { - "back": "Achterzijde", - "front": "Voorzijde" - }, - "s": {}, - "o": { - "headRatio": { - "t": "Head ratio", - "d": "Controls the size of the head opening" - }, - "lengthBonus": { - "t": "Lengtebonus", - "d": "Allows variation of the length of the garment" - }, - "widthBonus": { - "t": "Width bonus", - "d": "Allows variation of the width of the garment" - }, - "length": { - "t": "Lengte", - "d": "Controls the length of the garment" - }, - "neckoRatio": { - "t": "Neck opening shape", - "d": "controls the shape of the neck opening" - }, - "neckline": { - "t": "Neckline", - "d": "Controls whether or not to draft a neck opening" - } - } -} diff --git a/designs/walburga/i18n/uk.json b/designs/walburga/i18n/uk.json deleted file mode 100644 index 70fb4aea91e..00000000000 --- a/designs/walburga/i18n/uk.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "t": "Walburga Wappenrock", - "d": "Walburga is a tabard/surcoat, a historical garment from medieval Europe", - "p": { - "base": "Base", - "back": "Back", - "front": "Front" - }, - "s": {}, - "o": { - "headRatio": { - "t": "Head ratio", - "d": "Controls the size of the head opening" - }, - "lengthBonus": { - "t": "Length bonus", - "d": "Allows variation of the length of the garment" - }, - "widthBonus": { - "t": "Width bonus", - "d": "Allows variation of the width of the garment" - }, - "length": { - "t": "Length", - "d": "Controls the length of the garment" - }, - "neckoRatio": { - "t": "Neck opening shape", - "d": "controls the shape of the neck opening" - }, - "neckline": { - "t": "Neckline", - "d": "Controls whether or not to draft a neck opening" - } - } -} diff --git a/designs/walburga/package.json b/designs/walburga/package.json index bed4258f085..338caaff9d5 100644 --- a/designs/walburga/package.json +++ b/designs/walburga/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/walburga", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a wappenrock (tabard/surcoat), a historical European/medieval (ish) garment", "author": "Starfetch (https://github.com/starfetch)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/walburga/src/index.mjs b/designs/walburga/src/index.mjs index 010102dd6fa..516946715ba 100644 --- a/designs/walburga/src/index.mjs +++ b/designs/walburga/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { front } from './front.mjs' import { back } from './back.mjs' @@ -8,9 +8,9 @@ import { base } from './base.mjs' // Setup our new design const Walburga = new Design({ - data, + data: about, parts: [back, front], }) // Named exports -export { back, front, base, Walburga, i18n } +export { back, front, base, Walburga, i18n, about } diff --git a/designs/walburga/tests/shared.test.mjs b/designs/walburga/tests/shared.test.mjs index 4473937c867..a820f6394bf 100644 --- a/designs/walburga/tests/shared.test.mjs +++ b/designs/walburga/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Walburga, i18n } from '../src/index.mjs' +import { Walburga, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Walburga) +testPatternConfig(Walburga, about) // Test translation testPatternI18n(Walburga, i18n) diff --git a/designs/waralee/README.md b/designs/waralee/README.md index 6b641b91c3e..6335a691de1 100644 --- a/designs/waralee/README.md +++ b/designs/waralee/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:waralee - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/waralee @@ -59,7 +44,7 @@ A FreeSewing pattern for wrap pants > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/waralee/data.mjs b/designs/waralee/data.mjs deleted file mode 100644 index 89b323079f6..00000000000 --- a/designs/waralee/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/waralee' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/waralee/i18n/de.json b/designs/waralee/i18n/de.json deleted file mode 100644 index c92c9ba9686..00000000000 --- a/designs/waralee/i18n/de.json +++ /dev/null @@ -1,167 +0,0 @@ -{ - "t": "Waralee, die Wickelhose", - "d": "Waralee ist eine Wickelhose.", - "p": { - "backPocket": "Back pocket", - "cutout": "Cutout", - "facingBack": "Back Pocket Facing", - "facingFront": "Front Pocket Facing", - "mini": "Mini", - "pants": "Pants", - "pantsProto": "Pants prototype", - "pocket": "Pocket", - "strapBack": "Strap back", - "strapFront": "Strap front", - "waistbandBack": "Waistband back", - "waistbandFront": "Waistband front" - }, - "s": { - "thisIsNotAPart": "This is not a real part", - "doNotCutFromFabric": "Do not cut this from the fabric", - "useMeasurementsToCutFromFabric": "Use these measurements to cut the shape from the fabric", - "cutBackPocket.t": "The back pocket is not shown", - "cutBackPocket.d": "The **back pocket** is made of two rectangles of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutFacingback.t": "The back pocket facing is not shown", - "cutFacingback.d": "The **back pocket facing** is made of a rectangle of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutFacingfront.t": "The front pocket facing is not shown", - "cutFacingfront.d": "The **front pocket facing** is made of a rectangle of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutwaistbandBack.t": "The back waist band is not shown", - "cutwaistbandBack.d": "The **back waist band** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutwaistbandFront.t": "The front waist band is not shown", - "cutwaistbandFront.d": "The **front waist band** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutstrapBack.t": "The back strap is not shown", - "cutstrapBack.d": "The **back strap** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutstrapFront.t": "The front strap is not shown", - "cutstrapFront.d": "The **front strap** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "showPants.t": "The full pants are shown", - "showPants.d": "The **full pants** are shown. This takes up a lot of paper to print. Consider hiding this part, and a minimized version will show with the dimensions.", - "hidePants.t": "The full pants are not shown", - "hidePants.d": "The **full pants** are not shown. Instead a minimized version is show with the dimensions, allowing you cut this directly from the fabric. This saves considerably on the required paper to print this pattern." - }, - "o": { - "backPocket": { - "t": "Rückwärtige Tasche", - "d": "Definiert ob rückwärtige Taschen integriert werden" - }, - "backPocketYes": { - "t": "Back pocket", - "d": "The back pocket is included" - }, - "backPocketNo": { - "t": "No Back pocket", - "d": "The pattern is drawn without a back pocket" - }, - "frontPocket": { - "t": "Vordere Taschen", - "d": "Ob eine Fronttasche hinzugefügt werden soll oder nicht" - }, - "frontPocketYes": { - "t": "Front pocket", - "d": "The front pocket is included" - }, - "frontPocketNo": { - "t": "No Front pocket", - "d": "The pattern is drawn without a front pocket" - }, - "hemWidth": { - "t": "Saumgröße", - "d": "Größe des Saums am unteren Rand der Hose" - }, - "waistbandWidth": { - "t": "Taillenbund", - "d": "Größe des Taillenbundes" - }, - "waistRaise": { - "t": "Taillenhöhe", - "d": "Wie hoch soll die Taille über dem Gesäßumfang angelegt werden? Dies beeinflusst die Tiefe des Schrittauschnittes." - }, - "crotchBack": { - "t": "Hinterer Schritt", - "d": "Prozentsatz des Gesäßumfangs, den der hintere Teil des Schrittes benötigt. Dies ergibt mehr oder weniger Abstand zwischen der Seitennaht und der hinteren Mitte." - }, - "crotchFront": { - "t": "Vorderer Schritt", - "d": "Prozentsatz des Gesäßumfangs, den der vordere Teil des Schrittes benötigt. Dies beeinflusst den Abstand zwischen Seitennaht und vorderer Mittelnaht." - }, - "crotchFactorBackHor": { - "t": "Horizontaler hinterer Schritt Faktor", - "d": "Wird benutzt um die Kurze des hinteren Schritts horizontal zu verschieben" - }, - "crotchFactorBackVer": { - "t": "Vertikaler hinterer Schritt Faktor", - "d": "Wird benutzt um die Kurve des hinteren Schritts vertikal zu verschieben" - }, - "crotchFactorFrontHor": { - "t": "Horizontaler vorderer Schritt Faktor", - "d": "Wird verwendet um die Kurve des vorderen Schritts horizontal zu verschieben" - }, - "crotchFactorFrontVer": { - "t": "Vertikaler vorderer Schritt Faktor", - "d": "Wird benutzt um die Kurve des vorderen Schritts vertikal zu verschieben" - }, - "waistOverlap": { - "t": "Übertritt an der Taille", - "d": "Dieser Wert legt fest, wie starken Übertritt Sie auf Taillenhöhe an der Seite haben möchten. Beim Wert 0 treffen sich die Teile auf der Linie der Seitennaht. Beim Wert 100 überlappen die Teile soweit, dass sie jeweils zur vorderen und hinteren Mitte reichen." - }, - "legSize": { - "t": "Leg Size", - "d": "This dictates how long the pants will be. It is a factor of the inseam measurement. The larger the value, the longer the pants." - }, - "backRaise": { - "t": "Hintere Anstieg", - "d": "Diese Einstellung erhöht den Taillenlinie im Rücken. Unsere Taille sitzt nicht horizontal, sondern ist auf der Rückseite angehoben. Diese Einstellung erlaubt es Ihnen, dies im Rücken zu erhöhen, wenn Sie es für eine gute Passform benötigen." - }, - "fitWaist": { - "t": "Fit the garment to the waist", - "d": "Traditionally, wrap pants are not fitted to the waist, and just use the flexibility of the fabric to adjust." - }, - "fitWaistNo": { - "t": "Do not fit the garment to the waist", - "d": "The traditional wrap pants." - }, - "fitWaistYes": { - "t": "Fit the garment to the waist", - "d": "Adjust the crotch cutout to make the waist fit better." - }, - "frontPocketStyle": { - "t": "Front pocket style", - "d": "A welt pocket, or a pocket hidden in the waistband." - }, - "frontPocketStyle.welt": { - "t": "Welt style Front pocket", - "d": "The front pocket will be a welt pocket, slanted, and hidden by the overlap." - }, - "frontPocketStyle.waistband": { - "t": "Waistband Front pocket", - "d": "The front pocket will be hidden in the seam of the waistband." - }, - "knotPlacement": { - "t": "Placement of the knot(s)", - "d": "The knot of the wrap straps can be placed in the front, back, or both front and back (traditional)." - }, - "knotPlacement.front": { - "t": "Knot in the front", - "d": "The knot of the wrap straps will be in the front." - }, - "knotPlacement.back": { - "t": "Knot in the back", - "d": "The knot of the wrap straps will be in the back." - }, - "knotPlacement.traditional": { - "t": "Knot in the front and back", - "d": "The knot of the wrap straps will be in the front and the back." - }, - "separateWaistband": { - "t": "Create a separate waistband", - "d": "Create a separate waistband, or have a hem the size of the waistband." - }, - "separateWaistbandNo": { - "t": "No separate waistband", - "d": "The waistband is created by a folded hem." - }, - "separateWaistbandYes": { - "t": "Separate waistband", - "d": "The waistband is a separate piece, and sewn onto the pants." - } - } -} diff --git a/designs/waralee/i18n/es.json b/designs/waralee/i18n/es.json deleted file mode 100644 index 48f1c953ae6..00000000000 --- a/designs/waralee/i18n/es.json +++ /dev/null @@ -1,167 +0,0 @@ -{ - "t": "Pantalones de Waralee", - "d": "Waralee son pantalones envolventes.", - "p": { - "backPocket": "Back pocket", - "cutout": "Cutout", - "facingBack": "Back Pocket Facing", - "facingFront": "Front Pocket Facing", - "mini": "Mini", - "pants": "Pants", - "pantsProto": "Pants prototype", - "pocket": "Pocket", - "strapBack": "Strap back", - "strapFront": "Strap front", - "waistbandBack": "Waistband back", - "waistbandFront": "Waistband front" - }, - "s": { - "thisIsNotAPart": "This is not a real part", - "doNotCutFromFabric": "Do not cut this from the fabric", - "useMeasurementsToCutFromFabric": "Use these measurements to cut the shape from the fabric", - "cutBackPocket.t": "The back pocket is not shown", - "cutBackPocket.d": "The **back pocket** is made of two rectangles of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutFacingback.t": "The back pocket facing is not shown", - "cutFacingback.d": "The **back pocket facing** is made of a rectangle of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutFacingfront.t": "The front pocket facing is not shown", - "cutFacingfront.d": "The **front pocket facing** is made of a rectangle of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutwaistbandBack.t": "The back waist band is not shown", - "cutwaistbandBack.d": "The **back waist band** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutwaistbandFront.t": "The front waist band is not shown", - "cutwaistbandFront.d": "The **front waist band** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutstrapBack.t": "The back strap is not shown", - "cutstrapBack.d": "The **back strap** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutstrapFront.t": "The front strap is not shown", - "cutstrapFront.d": "The **front strap** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "showPants.t": "The full pants are shown", - "showPants.d": "The **full pants** are shown. This takes up a lot of paper to print. Consider hiding this part, and a minimized version will show with the dimensions.", - "hidePants.t": "The full pants are not shown", - "hidePants.d": "The **full pants** are not shown. Instead a minimized version is show with the dimensions, allowing you cut this directly from the fabric. This saves considerably on the required paper to print this pattern." - }, - "o": { - "backPocket": { - "t": "Bolsillo trasero", - "d": "Si se añade un bolsillo trasero o no" - }, - "backPocketYes": { - "t": "Back pocket", - "d": "The back pocket is included" - }, - "backPocketNo": { - "t": "No Back pocket", - "d": "The pattern is drawn without a back pocket" - }, - "frontPocket": { - "t": "Bolsillo delantero", - "d": "Si se añado un bolsillo frontal o no" - }, - "frontPocketYes": { - "t": "Front pocket", - "d": "The front pocket is included" - }, - "frontPocketNo": { - "t": "No Front pocket", - "d": "The pattern is drawn without a front pocket" - }, - "hemWidth": { - "t": "Hem size", - "d": "Tamaño de la temperatura en la parte inferior de los pantalones" - }, - "waistbandWidth": { - "t": "Banda de Waist", - "d": "Tamaño de la banda de cintura" - }, - "waistRaise": { - "t": "Aumento de Waist", - "d": "Cuánto elevar la cintura a partir de la medición de profundidad del asiento, lo que influye en la profundidad del corte de los cojines." - }, - "crotchBack": { - "t": "Retroceso", - "d": "El porcentaje de la circunstancia del asiento que el cráneo de la espalda tiene que ocupar. Esto crea más o menos espacio entre la costura lateral y la espalda." - }, - "crotchFront": { - "t": "Frente de cruz", - "d": "El porcentaje de la circunstancia del asiento que el cráneo delantero debe ocupar. Esto crea más o menos espacio entre la costura lateral y la parte delantera." - }, - "crotchFactorBackHor": { - "t": "Factor Horizontal de espalda", - "d": "Utilizado para mover la curva del cromo en la parte trasera horizontalmente" - }, - "crotchFactorBackVer": { - "t": "Factor horizontal trasero", - "d": "Utilizado para mover verticalmente la curva de la parte trasera" - }, - "crotchFactorFrontHor": { - "t": "Factor horizontal frontal de cromo", - "d": "Utilizado para mover la curva del cromo en la parte frontal horizontalmente" - }, - "crotchFactorFrontVer": { - "t": "Factor vertical delantero de cromo", - "d": "Utilizado para mover la curva del cromo en el frente verticalmente" - }, - "waistOverlap": { - "t": "Superposición de Waist", - "d": "Esto dicta cuánto quieres que las aletas de las piernas se superpongan a la cintura. Un ajuste de 0 los haría reunirse en la costura lateral y un ajuste de 100 los hace reunirse en la parte delantera/trasera." - }, - "legSize": { - "t": "Leg Size", - "d": "This dictates how long the pants will be. It is a factor of the inseam measurement. The larger the value, the longer the pants." - }, - "backRaise": { - "t": "Ataque trasero", - "d": "Este ajuste levanta la cintura en la espalda. Nuestra cintura no se sienta horizontalmente, sino que está enmarcada en la espalda. Este ajuste le permite levantar esto en la espalda si lo necesita para un buen ajuste." - }, - "fitWaist": { - "t": "Fit the garment to the waist", - "d": "Traditionally, wrap pants are not fitted to the waist, and just use the flexibility of the fabric to adjust." - }, - "fitWaistNo": { - "t": "Do not fit the garment to the waist", - "d": "The traditional wrap pants." - }, - "fitWaistYes": { - "t": "Fit the garment to the waist", - "d": "Adjust the crotch cutout to make the waist fit better." - }, - "frontPocketStyle": { - "t": "Front pocket style", - "d": "A welt pocket, or a pocket hidden in the waistband." - }, - "frontPocketStyle.welt": { - "t": "Welt style Front pocket", - "d": "The front pocket will be a welt pocket, slanted, and hidden by the overlap." - }, - "frontPocketStyle.waistband": { - "t": "Waistband Front pocket", - "d": "The front pocket will be hidden in the seam of the waistband." - }, - "knotPlacement": { - "t": "Placement of the knot(s)", - "d": "The knot of the wrap straps can be placed in the front, back, or both front asnd back (traditional)." - }, - "knotPlacement.front": { - "t": "Knot in the front", - "d": "The knot of the wrap straps will be in the front." - }, - "knotPlacement.back": { - "t": "Knot in the back", - "d": "The knot of the wrap straps will be in the back." - }, - "knotPlacement.traditional": { - "t": "Knot in the front and back", - "d": "The knot of the wrap straps will be in the front and the back." - }, - "separateWaistband": { - "t": "Create a separate waistband", - "d": "Create a separate waistband, or have a hem the size of the waistband." - }, - "separateWaistbandNo": { - "t": "No separate waistband", - "d": "The waistband is created by a folded hem." - }, - "separateWaistbandYes": { - "t": "Separate waistband", - "d": "The waistband is a separate piece, and sewn onto the pants." - } - } -} diff --git a/designs/waralee/i18n/fr.json b/designs/waralee/i18n/fr.json deleted file mode 100644 index 625906f6132..00000000000 --- a/designs/waralee/i18n/fr.json +++ /dev/null @@ -1,167 +0,0 @@ -{ - "t": "Pantalon portefeuille Waralee", - "d": "Waralee sont des pantalons enveloppés.", - "p": { - "backPocket": "Back pocket", - "cutout": "Cutout", - "facingBack": "Back Pocket Facing", - "facingFront": "Front Pocket Facing", - "mini": "Mini", - "pants": "Pants", - "pantsProto": "Pants prototype", - "pocket": "Pocket", - "strapBack": "Strap back", - "strapFront": "Strap front", - "waistbandBack": "Waistband back", - "waistbandFront": "Waistband front" - }, - "s": { - "thisIsNotAPart": "This is not a real part", - "doNotCutFromFabric": "Do not cut this from the fabric", - "useMeasurementsToCutFromFabric": "Use these measurements to cut the shape from the fabric", - "cutBackPocket.t": "The back pocket is not shown", - "cutBackPocket.d": "The **back pocket** is made of two rectangles of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutFacingback.t": "The back pocket facing is not shown", - "cutFacingback.d": "The **back pocket facing** is made of a rectangle of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutFacingfront.t": "The front pocket facing is not shown", - "cutFacingfront.d": "The **front pocket facing** is made of a rectangle of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutwaistbandBack.t": "The back waist band is not shown", - "cutwaistbandBack.d": "The **back waist band** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutwaistbandFront.t": "The front waist band is not shown", - "cutwaistbandFront.d": "The **front waist band** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutstrapBack.t": "The back strap is not shown", - "cutstrapBack.d": "The **back strap** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutstrapFront.t": "The front strap is not shown", - "cutstrapFront.d": "The **front strap** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "showPants.t": "The full pants are shown", - "showPants.d": "The **full pants** are shown. This takes up a lot of paper to print. Consider hiding this part, and a minimized version will show with the dimensions.", - "hidePants.t": "The full pants are not shown", - "hidePants.d": "The **full pants** are not shown. Instead a minimized version is show with the dimensions, allowing you cut this directly from the fabric. This saves considerably on the required paper to print this pattern." - }, - "o": { - "backPocket": { - "t": "Poche arrière", - "d": "S'il faut inclure une poche arrière ou non" - }, - "backPocketYes": { - "t": "Back pocket", - "d": "The back pocket is included" - }, - "backPocketNo": { - "t": "No Back pocket", - "d": "The pattern is drawn without a back pocket" - }, - "frontPocket": { - "t": "Poche avant", - "d": "Inclure ou non des poches avant" - }, - "frontPocketYes": { - "t": "Front pocket", - "d": "The front pocket is included" - }, - "frontPocketNo": { - "t": "No Front pocket", - "d": "The pattern is drawn without a front pocket" - }, - "hemWidth": { - "t": "Taille des ourlets", - "d": "Taille de l'ourlet au bas du pantalon" - }, - "waistbandWidth": { - "t": "Ceinture", - "d": "Taille de la ceinture" - }, - "waistRaise": { - "t": "Hauteur de taille", - "d": "Combien il faut élever la taille de la mesure de hauteur d'assise, ce qui influence la profondeur de la coupe de l'entre-jambe." - }, - "crotchBack": { - "t": "Fourche arrière", - "d": "Le pourcentage de la circonférence d'assise à l'arrière. Cela crée plus ou moins d'espace entre la couture latérale et le dos." - }, - "crotchFront": { - "t": "Fourche avant", - "d": "Le pourcentage de la circonférence d'assise à l'avant. Cela crée plus ou moins d'espace entre la couture latérale et le devant." - }, - "crotchFactorBackHor": { - "t": "Reculer la fourche arrière", - "d": "Utilisé pour déplacer la courbe de la fourche arrière horizontalement" - }, - "crotchFactorBackVer": { - "t": "Remonter la fourche arrière", - "d": "Utilisé pour déplacer la courbe de la fourche arrière verticalement" - }, - "crotchFactorFrontHor": { - "t": "Avancer la fourche avant", - "d": "Utilisé pour déplacer la courbe de la fourche avant horizontalement" - }, - "crotchFactorFrontVer": { - "t": "Remonter la fourche avant", - "d": "Utilisé pour déplacer la courbe de la fourche avant verticalement" - }, - "waistOverlap": { - "t": "Chevauchement de la ceinture", - "d": "Cela indique combien vous voulez que les pans de la jambe se chevauchent à la taille. Un réglage de 0 les ferait rencontrer à la couture latérale, et un cadre de 100 les fait se rencontrer à l'avant/arrière." - }, - "legSize": { - "t": "Leg Size", - "d": "This dictates how long the pants will be. It is a factor of the inseam measurement. The larger the value, the longer the pants." - }, - "backRaise": { - "t": "Élévation arrière", - "d": "Ce réglage lève la taille dans le dos, la taille ne se pose pas horizontalement, mais est inclinée à l'arrière. Ce réglage vous permet de la relever dans le dos si vous en avez besoin pour un bon ajustement." - }, - "fitWaist": { - "t": "Fit the garment to the waist", - "d": "Traditionally, wrap pants are not fitted to the waist, and just use the flexibility of the fabric to adjust." - }, - "fitWaistNo": { - "t": "Do not fit the garment to the waist", - "d": "The traditional wrap pants." - }, - "fitWaistYes": { - "t": "Fit the garment to the waist", - "d": "Adjust the crotch cutout to make the waist fit better." - }, - "frontPocketStyle": { - "t": "Front pocket style", - "d": "A welt pocket, or a pocket hidden in the waistband." - }, - "frontPocketStyle.welt": { - "t": "Welt style Front pocket", - "d": "The front pocket will be a welt pocket, slanted, and hidden by the overlap." - }, - "frontPocketStyle.waistband": { - "t": "Waistband Front pocket", - "d": "The front pocket will be hidden in the seam of the waistband." - }, - "knotPlacement": { - "t": "Placement of the knot(s)", - "d": "The knot of the wrap straps can be placed in the front, back, or both front and back (traditional)." - }, - "knotPlacement.front": { - "t": "Knot in the front", - "d": "The knot of the wrap straps will be in the front." - }, - "knotPlacement.back": { - "t": "Knot in the back", - "d": "The knot of the wrap straps will be in the back." - }, - "knotPlacement.traditional": { - "t": "Knot in the front and back", - "d": "The knot of the wrap straps will be in the front and the back." - }, - "separateWaistband": { - "t": "Create a separate waistband", - "d": "Create a separate waistband, or have a hem the size of the waistband." - }, - "separateWaistbandNo": { - "t": "No separate waistband", - "d": "The waistband is created by a folded hem." - }, - "separateWaistbandYes": { - "t": "Separate waistband", - "d": "The waistband is a separate piece, and sewn onto the pants." - } - } -} diff --git a/designs/waralee/i18n/index.mjs b/designs/waralee/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/waralee/i18n/index.mjs +++ b/designs/waralee/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/waralee/i18n/nl.json b/designs/waralee/i18n/nl.json deleted file mode 100644 index e427572ab7d..00000000000 --- a/designs/waralee/i18n/nl.json +++ /dev/null @@ -1,167 +0,0 @@ -{ - "t": "Waralee wikkelbroek", - "d": "Waralee is een wikkelbroek.", - "p": { - "backPocket": "Back pocket", - "cutout": "Cutout", - "facingBack": "Back Pocket Facing", - "facingFront": "Front Pocket Facing", - "mini": "Mini", - "pants": "Pants", - "pantsProto": "Pants prototype", - "pocket": "Pocket", - "strapBack": "Strap back", - "strapFront": "Strap front", - "waistbandBack": "Waistband back", - "waistbandFront": "Waistband front" - }, - "s": { - "thisIsNotAPart": "This is not a real part", - "doNotCutFromFabric": "Do not cut this from the fabric", - "useMeasurementsToCutFromFabric": "Use these measurements to cut the shape from the fabric", - "cutBackPocket.t": "The back pocket is not shown", - "cutBackPocket.d": "The **back pocket** is made of two rectangles of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutFacingback.t": "The back pocket facing is not shown", - "cutFacingback.d": "The **back pocket facing** is made of a rectangle of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutFacingfront.t": "The front pocket facing is not shown", - "cutFacingfront.d": "The **front pocket facing** is made of a rectangle of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutwaistbandBack.t": "The back waist band is not shown", - "cutwaistbandBack.d": "The **back waist band** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutwaistbandFront.t": "The front waist band is not shown", - "cutwaistbandFront.d": "The **front waist band** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutstrapBack.t": "The back strap is not shown", - "cutstrapBack.d": "The **back strap** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutstrapFront.t": "The front strap is not shown", - "cutstrapFront.d": "The **front strap** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "showPants.t": "The full pants are shown", - "showPants.d": "The **full pants** are shown. This takes up a lot of paper to print. Consider hiding this part, and a minimized version will show with the dimensions.", - "hidePants.t": "The full pants are not shown", - "hidePants.d": "The **full pants** are not shown. Instead a minimized version is show with the dimensions, allowing you cut this directly from the fabric. This saves considerably on the required paper to print this pattern." - }, - "o": { - "backPocket": { - "t": "Achterzak", - "d": "Of een achterzak moet worden toegevoegd of niet" - }, - "backPocketYes": { - "t": "Back pocket", - "d": "The back pocket is included" - }, - "backPocketNo": { - "t": "No Back pocket", - "d": "The pattern is drawn without a back pocket" - }, - "frontPocket": { - "t": "Voorzak", - "d": "Of een voorzak moet worden toegevoegd of niet" - }, - "frontPocketYes": { - "t": "Front pocket", - "d": "The front pocket is included" - }, - "frontPocketNo": { - "t": "No Front pocket", - "d": "The pattern is drawn without a front pocket" - }, - "hemWidth": { - "t": "Afmeting zoom", - "d": "De afmeting van de zoom onderaan de broek" - }, - "waistbandWidth": { - "t": "Tailleband", - "d": "Grootte van de tailleband" - }, - "waistRaise": { - "t": "Hoogte Taille", - "d": "Hoeveel hoger de taille zit dan de hoogte zitvlak-maat. Dit beïnvloedt de diepte van het kruis." - }, - "crotchBack": { - "t": "Kruis achter", - "d": "Het percentage van de omtrek zitvlak dat je het kruis achteraan nodig heeft. Dit creëert meer of minder ruimte tussen de zijnaad en de middenachternaad." - }, - "crotchFront": { - "t": "Kruis Voor", - "d": "Het percentage van de omtrek zitvlak dat je het kruis vooraan nodig heeft. Dit creëert meer of minder ruimte tussen de zijnaad en de middenvoornaad." - }, - "crotchFactorBackHor": { - "t": "Kruis Achter Factor Horizontaal", - "d": "Wordt gebruikt om de curve van het kruis achteraan horizontaal te verplaatsen" - }, - "crotchFactorBackVer": { - "t": "Kruis Achter Factor Verticaal", - "d": "Wordt gebruikt om de curve van het kruis achteraan verticaal te verplaatsen" - }, - "crotchFactorFrontHor": { - "t": "Kruis Voor Factor Horizontaal", - "d": "Wordt gebruikt om de curve van het kruis vooraan horizontaal te verplaatsen" - }, - "crotchFactorFrontVer": { - "t": "Kruis Voor Factor Verticaal", - "d": "Wordt gebruikt om de curve van het kruis vooraan verticaal te verplaatsen" - }, - "waistOverlap": { - "t": "Overlap Taille", - "d": "Dit bepaalt in hoeverre dat je de beenflappen wil laten overlappen aan de taille. Als je 0 instelt komen ze elkaar tegen ze aan de zijnaad, een instelling van 100 zorgt dat ze aan middenvoor/achter tegen elkaar komen." - }, - "legSize": { - "t": "Leg Size", - "d": "This dictates how long the pants will be. It is a factor of the inseam measurement. The larger the value, the longer the pants." - }, - "backRaise": { - "t": "Hoogte Rug", - "d": "Deze instelling verhoogt de taille in de rug. Onze taille zit niet horizontaal, maar ligt wat hoger in de rug. Deze instelling staat je toe de rug te verhogen als dit nodig is voor een goede pasvorm." - }, - "fitWaist": { - "t": "Fit the garment to the waist", - "d": "Traditionally, wrap pants are not fitted to the waist, and just use the flexibility of the fabric to adjust." - }, - "fitWaistNo": { - "t": "Do not fit the garment to the waist", - "d": "The traditional wrap pants." - }, - "fitWaistYes": { - "t": "Fit the garment to the waist", - "d": "Adjust the crotch cutout to make the waist fit better." - }, - "frontPocketStyle": { - "t": "Front pocket style", - "d": "A welt pocket, or a pocket hidden in the waistband." - }, - "frontPocketStyle.welt": { - "t": "Welt style Front pocket", - "d": "The front pocket will be a welt pocket, slanted, and hidden by the overlap." - }, - "frontPocketStyle.waistband": { - "t": "Waistband Front pocket", - "d": "The front pocket will be hidden in the seam of the waistband." - }, - "knotPlacement": { - "t": "Placement of the knot(s)", - "d": "The knot of the wrap straps can be placed in the front, back, or both front and back (traditional)." - }, - "knotPlacement.front": { - "t": "Knot in the front", - "d": "The knot of the wrap straps will be in the front." - }, - "knotPlacement.back": { - "t": "Knot in the back", - "d": "The knot of the wrap straps will be in the back." - }, - "knotPlacement.traditional": { - "t": "Knot in the front and back", - "d": "The knot of the wrap straps will be in the front and the back." - }, - "separateWaistband": { - "t": "Create a separate waistband", - "d": "Create a separate waistband, or have a hem the size of the waistband." - }, - "separateWaistbandNo": { - "t": "No separate waistband", - "d": "The waistband is created by a folded hem." - }, - "separateWaistbandYes": { - "t": "Separate waistband", - "d": "The waistband is a separate piece, and sewn onto the pants." - } - } -} diff --git a/designs/waralee/i18n/uk.json b/designs/waralee/i18n/uk.json deleted file mode 100644 index d49578cd86a..00000000000 --- a/designs/waralee/i18n/uk.json +++ /dev/null @@ -1,167 +0,0 @@ -{ - "t": "Waralee wrap pants", - "d": "Waralee are wrap pants.", - "p": { - "backPocket": "Back pocket", - "cutout": "Cutout", - "facingBack": "Back Pocket Facing", - "facingFront": "Front Pocket Facing", - "mini": "Mini", - "pants": "Pants", - "pantsProto": "Pants prototype", - "pocket": "Pocket", - "strapBack": "Strap back", - "strapFront": "Strap front", - "waistbandBack": "Waistband back", - "waistbandFront": "Waistband front" - }, - "s": { - "thisIsNotAPart": "This is not a real part", - "doNotCutFromFabric": "Do not cut this from the fabric", - "useMeasurementsToCutFromFabric": "Use these measurements to cut the shape from the fabric", - "cutBackPocket.t": "The back pocket is not shown", - "cutBackPocket.d": "The **back pocket** is made of two rectangles of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutFacingback.t": "The back pocket facing is not shown", - "cutFacingback.d": "The **back pocket facing** is made of a rectangle of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutFacingfront.t": "The front pocket facing is not shown", - "cutFacingfront.d": "The **front pocket facing** is made of a rectangle of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutwaistbandBack.t": "The back waist band is not shown", - "cutwaistbandBack.d": "The **back waist band** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutwaistbandFront.t": "The front waist band is not shown", - "cutwaistbandFront.d": "The **front waist band** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutstrapBack.t": "The back strap is not shown", - "cutstrapBack.d": "The **back strap** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "cutstrapFront.t": "The front strap is not shown", - "cutstrapFront.d": "The **front strap** is made of two strips of fabric {{{ width }}} wide and {{{ length }}} long.", - "showPants.t": "The full pants are shown", - "showPants.d": "The **full pants** are shown. This takes up a lot of paper to print. Consider hiding this part, and a minimized version will show with the dimensions.", - "hidePants.t": "The full pants are not shown", - "hidePants.d": "The **full pants** are not shown. Instead a minimized version is show with the dimensions, allowing you cut this directly from the fabric. This saves considerably on the required paper to print this pattern." - }, - "o": { - "backPocket": { - "t": "Back pocket", - "d": "Whether to include a back pocket or not" - }, - "backPocketYes": { - "t": "Back pocket", - "d": "The back pocket is included" - }, - "backPocketNo": { - "t": "No Back pocket", - "d": "The pattern is drawn without a back pocket" - }, - "frontPocket": { - "t": "Front pocket", - "d": "Whether to include a front pocket or not" - }, - "frontPocketYes": { - "t": "Front pocket", - "d": "The front pocket is included" - }, - "frontPocketNo": { - "t": "No Front pocket", - "d": "The pattern is drawn without a front pocket" - }, - "hemWidth": { - "t": "Hem size", - "d": "Size of the hem at the bottom of the pants" - }, - "waistbandWidth": { - "t": "Waist Band", - "d": "Size of the waist band" - }, - "waistRaise": { - "t": "Waist Raise", - "d": "How much to raise the waist from the seat depth measurement. This influences the depth of the crotch cut-out." - }, - "crotchBack": { - "t": "Crotch Back", - "d": "The percentage of the seat circumference that the back crotch needs to occupy. This creates more or less space between the side seam and the back." - }, - "crotchFront": { - "t": "Crotch Front", - "d": "The percentage of the seat circumference that the front crotch needs to occupy. This creates more or less space between the side seam and the front." - }, - "crotchFactorBackHor": { - "t": "Back Crotch Factor Horizontal", - "d": "Used to move the curve of the crotch in the back horizontally" - }, - "crotchFactorBackVer": { - "t": "Back Crotch Factor Vertical", - "d": "Used to move the curve of the crotch in the back vertically" - }, - "crotchFactorFrontHor": { - "t": "Front Crotch Factor Horizontal", - "d": "Used to move the curve of the crotch in the front horizontally" - }, - "crotchFactorFrontVer": { - "t": "Front Crotch Factor Vertical", - "d": "Used to move the curve of the crotch in the front vertically" - }, - "waistOverlap": { - "t": "Waist Overlap", - "d": "This dicates how much you want the leg flaps to overlap at the waist. A setting of 0 would have them meet at the side seam, and a setting of 100 makes them meet at the front/back." - }, - "legSize": { - "t": "Leg Size", - "d": "This dictates how long the pants will be. It is a factor of the inseam measurement. The larger the value, the longer the pants." - }, - "backRaise": { - "t": "Back Raise", - "d": "This setting raises the waist in the back. Our waist does not sit horizontally, but is angled up at the back. This setting allows you to raise this in the back if you need it for a good fit." - }, - "fitWaist": { - "t": "Fit the garment to the waist", - "d": "Traditionally, wrap pants are not fitted to the waist, and just use the flexibility of the fabric to adjust." - }, - "fitWaistNo": { - "t": "Do not fit the garment to the waist", - "d": "The traditional wrap pants." - }, - "fitWaistYes": { - "t": "Fit the garment to the waist", - "d": "Adjust the crotch cutout to make the waist fit better." - }, - "frontPocketStyle": { - "t": "Front pocket style", - "d": "A welt pocket, or a pocket hidden in the waistband." - }, - "frontPocketStyle.welt": { - "t": "Welt style Front pocket", - "d": "The front pocket will be a welt pocket, slanted, and hidden by the overlap." - }, - "frontPocketStyle.waistband": { - "t": "Waistband Front pocket", - "d": "The front pocket will be hidden in the seam of the waistband." - }, - "knotPlacement": { - "t": "Placement of the knot(s)", - "d": "The knot of the wrap straps can be placed in the front, back, or both front and back (traditional)." - }, - "knotPlacement.front": { - "t": "Knot in the front", - "d": "The knot of the wrap straps will be in the front." - }, - "knotPlacement.back": { - "t": "Knot in the back", - "d": "The knot of the wrap straps will be in the back." - }, - "knotPlacement.traditional": { - "t": "Knot in the front and back", - "d": "The knot of the wrap straps will be in the front and the back." - }, - "separateWaistband": { - "t": "Create a separate waistband", - "d": "Create a separate waistband, or have a hem the size of the waistband." - }, - "separateWaistbandNo": { - "t": "No separate waistband", - "d": "The waistband is created by a folded hem." - }, - "separateWaistbandYes": { - "t": "Separate waistband", - "d": "The waistband is a separate piece, and sewn onto the pants." - } - } -} diff --git a/designs/waralee/package.json b/designs/waralee/package.json index 25385295da8..22dd8e01cff 100644 --- a/designs/waralee/package.json +++ b/designs/waralee/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/waralee", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for wrap pants", "author": "woutervdub (https://github.com/woutervdub)", "homepage": "https://freesewing.org/", @@ -25,48 +25,39 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1" + "@freesewing/core": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/waralee/src/index.mjs b/designs/waralee/src/index.mjs index f0254229a8c..3fe87c3c2eb 100644 --- a/designs/waralee/src/index.mjs +++ b/designs/waralee/src/index.mjs @@ -1,5 +1,5 @@ import { Design } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n } from '../i18n/index.mjs' import { pants } from './pants.mjs' import { cutout } from './cutout.mjs' @@ -13,7 +13,7 @@ import { pantsProto } from './pantsproto.mjs' // Setup our new design const Waralee = new Design({ - data, + data: about, parts: [ pants, cutout, @@ -45,4 +45,5 @@ export { pantsProto, Waralee, i18n, + about, } diff --git a/designs/waralee/tests/shared.test.mjs b/designs/waralee/tests/shared.test.mjs index 85ec2d1534b..ed5f4dbb881 100644 --- a/designs/waralee/tests/shared.test.mjs +++ b/designs/waralee/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Waralee, i18n } from '../src/index.mjs' +import { Waralee, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Waralee) +testPatternConfig(Waralee, about) // Test translation testPatternI18n(Waralee, i18n) diff --git a/designs/yuri/README.md b/designs/yuri/README.md index edf77f757ac..b45fcebcf7a 100644 --- a/designs/yuri/README.md +++ b/designs/yuri/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:yuri - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/yuri @@ -59,7 +44,7 @@ A FreeSewing pattern for a fancy zipless sweater based on the Huey hoodie > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/designs/yuri/data.mjs b/designs/yuri/data.mjs deleted file mode 100644 index 5739249081b..00000000000 --- a/designs/yuri/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/yuri' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/designs/yuri/i18n/de.json b/designs/yuri/i18n/de.json deleted file mode 100644 index 8ef0e62daa8..00000000000 --- a/designs/yuri/i18n/de.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "t": "Yuri, der Hoodie", - "d": "Yuri ist ein schicker Cardigan ohne Reißverschluss, basierend auf den Huey & Hugo Hoodies", - "p": { - "back": "Back", - "front": "Front", - "gusset": "Gusset", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "sleeve": "Sleeve" - }, - "s": {}, - "o": {} -} diff --git a/designs/yuri/i18n/es.json b/designs/yuri/i18n/es.json deleted file mode 100644 index 6616f710610..00000000000 --- a/designs/yuri/i18n/es.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "t": "Yuri, sudadera", - "d": "Yuri es una elegante sudadera tipo cárdigan sin cremallera, basado en las sudaderas Huey y Hugo", - "p": { - "back": "Back", - "front": "Front", - "gusset": "Gusset", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "sleeve": "Sleeve" - }, - "s": {}, - "o": {} -} diff --git a/designs/yuri/i18n/fr.json b/designs/yuri/i18n/fr.json deleted file mode 100644 index abe372baf28..00000000000 --- a/designs/yuri/i18n/fr.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "t": "Sweat à capuche Yuri", - "d": "Yuri est un cardigan chic basé sur les sweats Huey & Hugo", - "p": { - "back": "Back", - "front": "Front", - "gusset": "Gusset", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "sleeve": "Sleeve" - }, - "s": {}, - "o": {} -} diff --git a/designs/yuri/i18n/index.mjs b/designs/yuri/i18n/index.mjs index 3cb4ad5492b..11028ae01ae 100644 --- a/designs/yuri/i18n/index.mjs +++ b/designs/yuri/i18n/index.mjs @@ -1,8 +1,3 @@ import en from './en.json' with { type: 'json' } -import de from './de.json' with { type: 'json' } -import es from './es.json' with { type: 'json' } -import fr from './fr.json' with { type: 'json' } -import nl from './nl.json' with { type: 'json' } -import uk from './uk.json' with { type: 'json' } -export const i18n = { en, de, es, fr, nl, uk } +export const i18n = { en } diff --git a/designs/yuri/i18n/nl.json b/designs/yuri/i18n/nl.json deleted file mode 100644 index eba83b0ce18..00000000000 --- a/designs/yuri/i18n/nl.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "t": "Yuri hoodie", - "d": "Yuri is een mooie ritsvrije cardigan gebaseerd op de Huey & Hugo hoodies", - "p": { - "back": "Back", - "front": "Front", - "gusset": "Gusset", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "sleeve": "Sleeve" - }, - "s": {}, - "o": {} -} diff --git a/designs/yuri/i18n/uk.json b/designs/yuri/i18n/uk.json deleted file mode 100644 index d1a56b7fbde..00000000000 --- a/designs/yuri/i18n/uk.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "t": "Yuri hoodie", - "d": "Yuri is a fancy zipless cardigan based on the Huey & Hugo hoodies", - "p": { - "back": "Back", - "front": "Front", - "gusset": "Gusset", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "sleeve": "Sleeve" - }, - "s": {}, - "o": { - "hipsEase": { - "t": "Hips ease", - "d": "Controls the amount of ease at the hips" - } - } -} diff --git a/designs/yuri/package.json b/designs/yuri/package.json index b82af9de343..c76ea2eecf2 100644 --- a/designs/yuri/package.json +++ b/designs/yuri/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/yuri", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A FreeSewing pattern for a fancy zipless sweater based on the Huey hoodie", "author": "biou (https://github.com/biou)", "homepage": "https://freesewing.org/", @@ -25,50 +25,41 @@ "sewing pattern" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/**' 'tests/*.mjs'", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js" }, "peerDependencies": { - "@freesewing/core": "3.3.0-rc.1", - "@freesewing/brian": "3.3.0-rc.1", - "@freesewing/plugin-bust": "3.3.0-rc.1" + "@freesewing/core": "4.0.0", + "@freesewing/brian": "4.0.0", + "@freesewing/plugin-bust": "4.0.0" }, "dependencies": {}, "devDependencies": { "mocha": "10.4.0", "chai": "5.1.1", - "@freesewing/models": "3.3.0-rc.1", - "@freesewing/plugin-timing": "3.3.0-rc.1" + "@freesewing/models": "4.0.0", + "@freesewing/plugin-timing": "4.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/designs/yuri/src/back.mjs b/designs/yuri/src/back.mjs index 3770acf2bb1..e1efdd7fbab 100644 --- a/designs/yuri/src/back.mjs +++ b/designs/yuri/src/back.mjs @@ -1,6 +1,6 @@ import { back as brianBack } from '@freesewing/brian' import { sharedDimensions } from './shared.mjs' -import { hidePresets } from '@freesewing/core' +import { hidePresets, pctBasedOn } from '@freesewing/core' function yuriBack({ store, macro, Path, Point, points, paths, sa, options, measurements, part }) { // Clear paths from Brian @@ -106,8 +106,8 @@ export const back = { options: { ...brianBack.options, // Overrides - collarEase: { pct: 20, min: 10, max: 30, menu: 'fit' }, - cuffEase: { pct: 30, min: 20, max: 60, menu: 'fit' }, + collarEase: { pct: 20, min: 10, max: 30, ...pctBasedOn('neck'), menu: 'fit' }, + cuffEase: { pct: 30, min: 20, max: 60, ...pctBasedOn('wrist'), menu: 'fit' }, lengthBonus: { pct: 10, min: 5, max: 15, menu: 'fit' }, sleeveLengthBonus: { pct: 1, min: 0, max: 10, menu: 'fit' }, }, diff --git a/designs/yuri/src/front.mjs b/designs/yuri/src/front.mjs index 3639614eb99..48947caf1d9 100644 --- a/designs/yuri/src/front.mjs +++ b/designs/yuri/src/front.mjs @@ -1,6 +1,6 @@ import { front as brianFront } from '@freesewing/brian' import { sharedDimensions } from './shared.mjs' -import { hidePresets } from '@freesewing/core' +import { hidePresets, pctBasedOn } from '@freesewing/core' function yuriFront({ store, @@ -117,8 +117,8 @@ export const front = { options: { ...brianFront.options, // Overrides - collarEase: { pct: 20, min: 10, max: 30, menu: 'fit' }, - cuffEase: { pct: 30, min: 20, max: 60, menu: 'fit' }, + collarEase: { pct: 20, min: 10, max: 30, ...pctBasedOn('neck'), menu: 'fit' }, + cuffEase: { pct: 30, min: 20, max: 60, ...pctBasedOn('wrist'), menu: 'fit' }, lengthBonus: { pct: 10, min: 5, max: 15, menu: 'fit' }, sleeveLengthBonus: { pct: 1, min: 0, max: 10, menu: 'fit' }, }, diff --git a/designs/yuri/src/index.mjs b/designs/yuri/src/index.mjs index fd2fb5debc6..5945a37dfea 100644 --- a/designs/yuri/src/index.mjs +++ b/designs/yuri/src/index.mjs @@ -1,5 +1,5 @@ import { Design, mergeI18n } from '@freesewing/core' -import { data } from '../data.mjs' +import about from '../about.json' with { type: 'json' } import { i18n as brianI18n } from '@freesewing/brian' import { i18n as yuriI18n } from '../i18n/index.mjs' import { back } from './back.mjs' @@ -11,7 +11,7 @@ import { hoodCenter } from './hoodcenter.mjs' // Setup our new design const Yuri = new Design({ - data, + data: about, parts: [back, front, sleeve, gusset, hoodSide, hoodCenter], }) @@ -20,4 +20,4 @@ const i18n = mergeI18n([brianI18n, yuriI18n]) // Named exports // Named exports -export { back, front, sleeve, gusset, hoodSide, hoodCenter, Yuri, i18n } +export { back, front, sleeve, gusset, hoodSide, hoodCenter, Yuri, i18n, about } diff --git a/designs/yuri/tests/shared.test.mjs b/designs/yuri/tests/shared.test.mjs index 4edf8bf2ef1..a5c66296162 100644 --- a/designs/yuri/tests/shared.test.mjs +++ b/designs/yuri/tests/shared.test.mjs @@ -1,5 +1,5 @@ // This file is auto-generated | Any changes you make will be overwritten. -import { Yuri, i18n } from '../src/index.mjs' +import { Yuri, about, i18n } from '../src/index.mjs' // Shared tests import { testPatternConfig } from '../../../tests/designs/config.mjs' @@ -8,7 +8,7 @@ import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' import { testPatternSampling } from '../../../tests/designs/sampling.mjs' // Test config -testPatternConfig(Yuri) +testPatternConfig(Yuri, about) // Test translation testPatternI18n(Yuri, i18n) diff --git a/i18n/designs.mjs b/i18n/designs.mjs index 29b5c9ca341..cc709b3067a 100644 --- a/i18n/designs.mjs +++ b/i18n/designs.mjs @@ -10,6 +10,7 @@ import { i18n as benjamin } from '@freesewing/benjamin' import { i18n as bent } from '@freesewing/bent' import { i18n as bibi } from '@freesewing/bibi' import { i18n as bob } from '@freesewing/bob' +import { i18n as bonny } from '@freesewing/bonny' import { i18n as breanna } from '@freesewing/breanna' import { i18n as brian } from '@freesewing/brian' import { i18n as bruce } from '@freesewing/bruce' @@ -75,6 +76,7 @@ export const designs = { bent: bent.en, bibi: bibi.en, bob: bob.en, + bonny: bonny.en, breanna: breanna.en, brian: brian.en, bruce: bruce.en, diff --git a/lerna.json b/lerna.json index cf58d6a99c9..2cd63d4d04f 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "3.3.0-rc.1", + "version": "4.0.0", "npmClient": "yarn", "command": { "publish": { @@ -21,4 +21,4 @@ "plugins/*", "sites/*" ] -} +} \ No newline at end of file diff --git a/nx.json b/nx.json index 3c0327da12c..23ad350bccd 100644 --- a/nx.json +++ b/nx.json @@ -1,22 +1,66 @@ { - "tasksRunnerOptions": { - "default": { - "runner": "nx/tasks-runners/default", - "options": { - "cacheableOperations": ["build", "wbuild", "build:all"], - "parallel": 5 - } - } - }, + "$schema": "./node_modules/nx/schemas/nx-schema.json", "targetDefaults": { "build": { - "dependsOn": ["^build", "prebuild"] + "outputs": [ + "{projectRoot}/dist" + ], + "cache": true + }, + "build:all": { + "cache": true + }, + "mbuild": { + "cache": true + }, + "symlink": { + "cache": true + }, + "test": { + "cache": true + }, + "vbuild": { + "cache": true + }, + "lint": { + "cache": true + }, + "prettier": { + "cache": true + }, + "testci": { + "cache": true }, "wbuild": { - "dependsOn": ["^wbuild", "prewbuild"] + "cache": true }, - "e2e": { - "dependsOn": ["prebuild"] + "wbuild:all": { + "cache": true + }, + "report": { + "cache": true + }, + "prebuild": { + "cache": true + }, + "prewbuild": { + "cache": true + }, + "prebuild:all": { + "cache": true + }, + "prewbuild:all": { + "cache": true } - } -} + }, + "defaultBase": "main", + "plugins": [ + { + "plugin": "@nx/eslint/plugin", + "options": { + "targetName": "eslint:lint" + } + } + ], + "nxCloudId": "67582b7f0d03c7a23d467388" +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000000..84db5f9652e --- /dev/null +++ b/package-lock.json @@ -0,0 +1,70333 @@ +{ + "name": "root", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "root", + "version": "0.0.0", + "license": "MIT", + "workspaces": [ + "designs/*", + "packages/*", + "plugins/*", + "sites/*" + ], + "dependencies": { + "@babel/eslint-parser": "^7.22.15", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/preset-react": "^7.22.15", + "c8": "^10.1.2", + "eslint-config-next": "^14.0.1", + "glob": "^10.3.10", + "rehype-format": "^5.0.0", + "rehype-stringify": "^10.0.1", + "tlds": "^1.255.0" + }, + "devDependencies": { + "@commitlint/cli": "^19.0.3", + "@commitlint/config-conventional": "^19.0.3", + "@nx/eslint": "20.2.1", + "all-contributors-cli": "^6.26.1", + "axios": "^1.5.1", + "chalk": "^4.1.0", + "cross-env": "^7.0.2", + "eslint": "^8.23.1", + "eslint-plugin-jsonc": "^2.4.0", + "eslint-plugin-markdown": "^5.0.0", + "eslint-plugin-mongo": "^1.0.5", + "eslint-plugin-yaml": "^0.5.0", + "execa": "^9.3.1", + "husky": "^9.0.10", + "js-yaml": "^4.0.0", + "lerna": "^8.0.0", + "lint-staged": "^15.0.1", + "mocha": "^10.0.0", + "mustache": "^4.0.1", + "nx": "20.2.1", + "nyc": "^15.1.0", + "prettier": "^3.0.0", + "pretty-quick": "^4.0.0", + "rimraf": "^5.0.0", + "standard": "^17.0.0" + }, + "engines": { + "node": ">=20.0" + } + }, + "designs/aaron": { + "name": "@freesewing/aaron", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/brian": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16" + } + }, + "designs/aaron/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/aaron/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/aaron/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/aaron/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/aaron/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/aaron/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/aaron/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/aaron/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/aaron/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/aaron/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/aaron/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/aaron/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/aaron/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/aaron/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/aaron/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/aaron/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/aaron/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/aaron/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/aaron/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/aaron/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/aaron/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/aaron/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/aaron/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/aaron/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/albert": { + "name": "@freesewing/albert", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/albert/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/albert/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/albert/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/albert/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/albert/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/albert/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/albert/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/albert/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/albert/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/albert/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/albert/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/albert/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/albert/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/albert/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/albert/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/albert/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/albert/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/albert/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/albert/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/albert/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/albert/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/albert/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/albert/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/albert/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bee": { + "name": "@freesewing/bee", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/bella": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/bee/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/bee/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/bee/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/bee/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/bee/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/bee/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/bee/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bee/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/bee/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/bee/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bee/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bee/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bee/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/bee/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bee/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bee/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/bee/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/bee/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/bee/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/bee/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/bee/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bee/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/bee/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/bee/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bella": { + "name": "@freesewing/bella", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/bella/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/bella/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/bella/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/bella/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/bella/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/bella/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/bella/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bella/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/bella/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/bella/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bella/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bella/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bella/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/bella/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bella/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bella/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/bella/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/bella/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/bella/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/bella/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/bella/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bella/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/bella/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/bella/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/benjamin": { + "name": "@freesewing/benjamin", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/benjamin/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/benjamin/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/benjamin/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/benjamin/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/benjamin/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/benjamin/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/benjamin/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/benjamin/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/benjamin/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/benjamin/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/benjamin/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/benjamin/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/benjamin/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/benjamin/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/benjamin/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/benjamin/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/benjamin/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/benjamin/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/benjamin/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/benjamin/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/benjamin/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/benjamin/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/benjamin/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/benjamin/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bent": { + "name": "@freesewing/bent", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/brian": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16" + } + }, + "designs/bent/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/bent/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/bent/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/bent/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/bent/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/bent/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/bent/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bent/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/bent/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/bent/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bent/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bent/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bent/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/bent/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bent/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bent/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/bent/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/bent/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/bent/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/bent/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/bent/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bent/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/bent/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/bent/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bibi": { + "name": "@freesewing/bibi", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/bibi/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/bibi/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/bibi/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/bibi/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/bibi/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/bibi/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/bibi/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bibi/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/bibi/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/bibi/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bibi/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bibi/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bibi/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/bibi/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bibi/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bibi/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/bibi/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/bibi/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/bibi/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/bibi/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/bibi/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bibi/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/bibi/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/bibi/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bob": { + "name": "@freesewing/bob", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/bob/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/bob/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/bob/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/bob/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/bob/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/bob/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/bob/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bob/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/bob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/bob/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bob/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bob/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bob/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/bob/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bob/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bob/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/bob/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/bob/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/bob/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/bob/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/bob/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bob/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/bob/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/bob/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bonny": { + "name": "@freesewing/bonny", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/bonny/node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/bonny/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/bonny/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/bonny/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/bonny/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true, + "license": "MIT" + }, + "designs/bonny/node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/bonny/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bonny/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/bonny/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/bonny/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bonny/node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bonny/node_modules/mocha": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.4.0.tgz", + "integrity": "sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/bonny/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bonny/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bonny/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/bonny/node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/bonny/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/bonny/node_modules/workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "dev": true, + "license": "Apache-2.0" + }, + "designs/bonny/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/bonny/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bonny/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/bonny/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/breanna": { + "name": "@freesewing/breanna", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/brian": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/breanna/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/breanna/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/breanna/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/breanna/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/breanna/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/breanna/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/breanna/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/breanna/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/breanna/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/breanna/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/breanna/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/breanna/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/breanna/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/breanna/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/breanna/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/breanna/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/breanna/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/breanna/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/breanna/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/breanna/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/breanna/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/breanna/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/breanna/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/breanna/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/brian": { + "name": "@freesewing/brian", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16" + } + }, + "designs/brian/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/brian/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/brian/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/brian/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/brian/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/brian/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/brian/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/brian/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/brian/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/brian/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/brian/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/brian/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/brian/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/brian/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/brian/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/brian/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/brian/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/brian/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/brian/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/brian/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/brian/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/brian/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/brian/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/brian/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bruce": { + "name": "@freesewing/bruce", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/bruce/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/bruce/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/bruce/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/bruce/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/bruce/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/bruce/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/bruce/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bruce/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/bruce/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/bruce/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bruce/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bruce/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bruce/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/bruce/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bruce/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/bruce/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/bruce/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/bruce/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/bruce/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/bruce/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/bruce/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/bruce/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/bruce/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/bruce/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/carlita": { + "name": "@freesewing/carlita", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/bent": "4.0.0-rc.16", + "@freesewing/brian": "4.0.0-rc.16", + "@freesewing/carlton": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16" + } + }, + "designs/carlita/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/carlita/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/carlita/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/carlita/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/carlita/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/carlita/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/carlita/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/carlita/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/carlita/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/carlita/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/carlita/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/carlita/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/carlita/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/carlita/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/carlita/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/carlita/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/carlita/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/carlita/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/carlita/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/carlita/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/carlita/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/carlita/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/carlita/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/carlita/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/carlton": { + "name": "@freesewing/carlton", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/bent": "4.0.0-rc.16", + "@freesewing/brian": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16" + } + }, + "designs/carlton/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/carlton/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/carlton/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/carlton/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/carlton/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/carlton/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/carlton/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/carlton/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/carlton/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/carlton/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/carlton/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/carlton/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/carlton/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/carlton/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/carlton/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/carlton/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/carlton/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/carlton/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/carlton/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/carlton/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/carlton/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/carlton/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/carlton/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/carlton/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/cathrin": { + "name": "@freesewing/cathrin", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/cathrin/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/cathrin/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/cathrin/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/cathrin/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/cathrin/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/cathrin/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/cathrin/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/cathrin/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/cathrin/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/cathrin/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/cathrin/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/cathrin/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/cathrin/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/cathrin/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/cathrin/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/cathrin/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/cathrin/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/cathrin/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/cathrin/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/cathrin/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/cathrin/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/cathrin/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/cathrin/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/cathrin/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/charlie": { + "name": "@freesewing/charlie", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/snapseries": "4.0.0-rc.16", + "@freesewing/titan": "4.0.0-rc.16" + } + }, + "designs/charlie/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/charlie/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/charlie/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/charlie/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/charlie/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/charlie/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/charlie/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/charlie/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/charlie/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/charlie/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/charlie/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/charlie/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/charlie/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/charlie/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/charlie/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/charlie/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/charlie/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/charlie/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/charlie/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/charlie/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/charlie/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/charlie/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/charlie/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/charlie/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/cornelius": { + "name": "@freesewing/cornelius", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/cornelius/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/cornelius/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/cornelius/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/cornelius/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/cornelius/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/cornelius/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/cornelius/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/cornelius/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/cornelius/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/cornelius/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/cornelius/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/cornelius/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/cornelius/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/cornelius/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/cornelius/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/cornelius/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/cornelius/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/cornelius/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/cornelius/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/cornelius/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/cornelius/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/cornelius/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/cornelius/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/cornelius/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/diana": { + "name": "@freesewing/diana", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/brian": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16" + } + }, + "designs/diana/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/diana/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/diana/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/diana/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/diana/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/diana/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/diana/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/diana/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/diana/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/diana/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/diana/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/diana/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/diana/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/diana/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/diana/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/diana/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/diana/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/diana/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/diana/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/diana/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/diana/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/diana/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/diana/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/diana/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/examples": { + "name": "@freesewing/examples", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-gore": "4.0.0-rc.16" + } + }, + "designs/examples/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/examples/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/examples/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/examples/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/examples/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/examples/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/examples/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/examples/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/examples/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/examples/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/examples/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/examples/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/examples/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/examples/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/examples/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/examples/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/examples/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/examples/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/examples/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/examples/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/examples/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/examples/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/examples/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/examples/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/florence": { + "name": "@freesewing/florence", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/florence/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/florence/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/florence/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/florence/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/florence/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/florence/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/florence/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/florence/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/florence/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/florence/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/florence/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/florence/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/florence/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/florence/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/florence/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/florence/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/florence/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/florence/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/florence/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/florence/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/florence/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/florence/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/florence/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/florence/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/florent": { + "name": "@freesewing/florent", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/florent/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/florent/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/florent/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/florent/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/florent/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/florent/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/florent/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/florent/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/florent/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/florent/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/florent/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/florent/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/florent/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/florent/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/florent/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/florent/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/florent/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/florent/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/florent/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/florent/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/florent/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/florent/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/florent/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/florent/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/gozer": { + "name": "@freesewing/gozer", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/gozer/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/gozer/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/gozer/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/gozer/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/gozer/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/gozer/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/gozer/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/gozer/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/gozer/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/gozer/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/gozer/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/gozer/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/gozer/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/gozer/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/gozer/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/gozer/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/gozer/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/gozer/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/gozer/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/gozer/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/gozer/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/gozer/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/gozer/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/gozer/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/hi": { + "name": "@freesewing/hi", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/hi/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/hi/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/hi/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/hi/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/hi/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/hi/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/hi/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/hi/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/hi/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/hi/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/hi/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/hi/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/hi/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/hi/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/hi/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/hi/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/hi/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/hi/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/hi/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/hi/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/hi/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/hi/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/hi/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/hi/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/holmes": { + "name": "@freesewing/holmes", + "version": "4.0.0-rc.16", + "license": "MIT", + "dependencies": { + "@freesewing/plugin-gore": "4.0.0-rc.16" + }, + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16" + } + }, + "designs/holmes/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/holmes/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/holmes/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/holmes/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/holmes/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/holmes/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/holmes/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/holmes/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/holmes/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/holmes/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/holmes/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/holmes/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/holmes/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/holmes/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/holmes/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/holmes/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/holmes/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/holmes/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/holmes/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/holmes/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/holmes/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/holmes/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/holmes/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/holmes/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/hortensia": { + "name": "@freesewing/hortensia", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/hortensia/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/hortensia/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/hortensia/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/hortensia/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/hortensia/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/hortensia/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/hortensia/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/hortensia/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/hortensia/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/hortensia/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/hortensia/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/hortensia/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/hortensia/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/hortensia/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/hortensia/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/hortensia/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/hortensia/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/hortensia/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/hortensia/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/hortensia/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/hortensia/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/hortensia/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/hortensia/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/hortensia/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/huey": { + "name": "@freesewing/huey", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/brian": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16" + } + }, + "designs/huey/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/huey/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/huey/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/huey/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/huey/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/huey/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/huey/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/huey/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/huey/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/huey/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/huey/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/huey/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/huey/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/huey/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/huey/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/huey/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/huey/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/huey/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/huey/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/huey/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/huey/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/huey/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/huey/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/huey/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/hugo": { + "name": "@freesewing/hugo", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/brian": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16" + } + }, + "designs/hugo/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/hugo/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/hugo/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/hugo/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/hugo/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/hugo/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/hugo/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/hugo/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/hugo/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/hugo/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/hugo/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/hugo/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/hugo/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/hugo/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/hugo/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/hugo/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/hugo/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/hugo/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/hugo/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/hugo/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/hugo/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/hugo/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/hugo/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/hugo/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/jaeger": { + "name": "@freesewing/jaeger", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/bent": "4.0.0-rc.16", + "@freesewing/brian": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16" + } + }, + "designs/jaeger/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/jaeger/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/jaeger/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/jaeger/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/jaeger/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/jaeger/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/jaeger/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/jaeger/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/jaeger/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/jaeger/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/jaeger/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/jaeger/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/jaeger/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/jaeger/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/jaeger/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/jaeger/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/jaeger/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/jaeger/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/jaeger/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/jaeger/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/jaeger/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/jaeger/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/jaeger/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/jaeger/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/jane": { + "name": "@freesewing/jane", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/jane/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/jane/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/jane/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/jane/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/jane/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/jane/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/jane/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/jane/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/jane/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/jane/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/jane/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/jane/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/jane/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/jane/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/jane/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/jane/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/jane/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/jane/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/jane/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/jane/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/jane/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/jane/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/jane/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/jane/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/legend": { + "name": "@freesewing/legend", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/legend/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/legend/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/legend/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/legend/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/legend/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/legend/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/legend/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/legend/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/legend/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/legend/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/legend/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/legend/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/legend/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/legend/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/legend/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/legend/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/legend/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/legend/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/legend/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/legend/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/legend/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/legend/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/legend/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/legend/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lily": { + "name": "@freesewing/lily", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/paco": "4.0.0-rc.16", + "@freesewing/titan": "4.0.0-rc.16" + } + }, + "designs/lily/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/lily/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/lily/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/lily/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/lily/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/lily/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/lily/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lily/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/lily/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/lily/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/lily/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lily/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/lily/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/lily/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lily/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lily/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/lily/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/lily/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/lily/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/lily/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/lily/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/lily/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/lily/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/lily/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lucy": { + "name": "@freesewing/lucy", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/lucy/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/lucy/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/lucy/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/lucy/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/lucy/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/lucy/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/lucy/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lucy/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/lucy/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/lucy/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/lucy/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lucy/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/lucy/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/lucy/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lucy/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lucy/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/lucy/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/lucy/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/lucy/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/lucy/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/lucy/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/lucy/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/lucy/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/lucy/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lumina": { + "name": "@freesewing/lumina", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/lumina/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/lumina/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/lumina/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/lumina/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/lumina/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/lumina/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/lumina/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lumina/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/lumina/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/lumina/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/lumina/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lumina/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/lumina/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/lumina/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lumina/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lumina/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/lumina/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/lumina/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/lumina/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/lumina/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/lumina/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/lumina/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/lumina/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/lumina/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lumira": { + "name": "@freesewing/lumira", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/lumira/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/lumira/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/lumira/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/lumira/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/lumira/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/lumira/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/lumira/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lumira/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/lumira/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/lumira/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/lumira/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lumira/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/lumira/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/lumira/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lumira/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lumira/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/lumira/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/lumira/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/lumira/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/lumira/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/lumira/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/lumira/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/lumira/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/lumira/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lunetius": { + "name": "@freesewing/lunetius", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/lunetius/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/lunetius/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/lunetius/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/lunetius/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/lunetius/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/lunetius/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/lunetius/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lunetius/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/lunetius/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/lunetius/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/lunetius/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lunetius/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/lunetius/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/lunetius/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lunetius/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/lunetius/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/lunetius/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/lunetius/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/lunetius/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/lunetius/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/lunetius/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/lunetius/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/lunetius/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/lunetius/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/magde": { + "name": "@freesewing/magde", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/magde/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/magde/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/magde/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/magde/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/magde/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/magde/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/magde/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/magde/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/magde/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/magde/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/magde/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/magde/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/magde/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/magde/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/magde/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/magde/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/magde/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/magde/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/magde/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/magde/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/magde/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/magde/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/magde/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/magde/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/noble": { + "name": "@freesewing/noble", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/bella": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/noble/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/noble/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/noble/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/noble/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/noble/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/noble/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/noble/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/noble/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/noble/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/noble/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/noble/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/noble/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/noble/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/noble/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/noble/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/noble/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/noble/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/noble/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/noble/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/noble/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/noble/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/noble/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/noble/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/noble/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/octoplushy": { + "name": "@freesewing/octoplushy", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/octoplushy/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/octoplushy/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/octoplushy/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/octoplushy/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/octoplushy/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/octoplushy/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/octoplushy/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/octoplushy/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/octoplushy/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/octoplushy/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/octoplushy/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/octoplushy/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/octoplushy/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/octoplushy/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/octoplushy/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/octoplushy/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/octoplushy/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/octoplushy/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/octoplushy/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/octoplushy/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/octoplushy/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/octoplushy/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/octoplushy/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/octoplushy/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/onyx": { + "name": "@freesewing/onyx", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/onyx/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/onyx/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/onyx/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/onyx/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/onyx/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/onyx/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/onyx/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/onyx/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/onyx/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/onyx/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/onyx/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/onyx/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/onyx/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/onyx/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/onyx/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/onyx/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/onyx/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/onyx/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/onyx/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/onyx/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/onyx/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/onyx/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/onyx/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/onyx/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/opal": { + "name": "@freesewing/opal", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/opal/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/opal/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/opal/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/opal/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/opal/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/opal/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/opal/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/opal/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/opal/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/opal/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/opal/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/opal/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/opal/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/opal/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/opal/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/opal/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/opal/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/opal/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/opal/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/opal/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/opal/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/opal/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/opal/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/opal/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/otis": { + "name": "@freesewing/otis", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/otis/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/otis/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/otis/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/otis/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/otis/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/otis/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/otis/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/otis/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/otis/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/otis/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/otis/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/otis/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/otis/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/otis/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/otis/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/otis/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/otis/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/otis/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/otis/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/otis/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/otis/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/otis/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/otis/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/otis/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/paco": { + "name": "@freesewing/paco", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/snapseries": "4.0.0-rc.16", + "@freesewing/titan": "4.0.0-rc.16" + } + }, + "designs/paco/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/paco/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/paco/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/paco/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/paco/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/paco/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/paco/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/paco/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/paco/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/paco/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/paco/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/paco/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/paco/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/paco/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/paco/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/paco/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/paco/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/paco/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/paco/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/paco/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/paco/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/paco/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/paco/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/paco/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/penelope": { + "name": "@freesewing/penelope", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/penelope/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/penelope/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/penelope/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/penelope/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/penelope/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/penelope/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/penelope/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/penelope/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/penelope/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/penelope/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/penelope/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/penelope/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/penelope/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/penelope/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/penelope/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/penelope/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/penelope/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/penelope/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/penelope/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/penelope/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/penelope/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/penelope/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/penelope/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/penelope/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/plugintest": { + "name": "@freesewing/plugintest", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-annotations": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16", + "@freesewing/plugin-flip": "4.0.0-rc.16", + "@freesewing/plugin-gore": "4.0.0-rc.16", + "@freesewing/plugin-i18n": "4.0.0-rc.16", + "@freesewing/plugin-measurements": "4.0.0-rc.16", + "@freesewing/plugin-mirror": "4.0.0-rc.16", + "@freesewing/plugin-round": "4.0.0-rc.16", + "@freesewing/plugin-sprinkle": "4.0.0-rc.16", + "@freesewing/plugin-svgattr": "4.0.0-rc.16", + "@freesewing/plugin-theme": "4.0.0-rc.16" + } + }, + "designs/plugintest/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/plugintest/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/plugintest/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/plugintest/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/plugintest/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/plugintest/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/plugintest/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/plugintest/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/plugintest/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/plugintest/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/plugintest/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/plugintest/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/plugintest/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/plugintest/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/plugintest/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/plugintest/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/plugintest/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/plugintest/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/plugintest/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/plugintest/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/plugintest/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/plugintest/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/plugintest/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/plugintest/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/rendertest": { + "name": "@freesewing/rendertest", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/rendertest/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/rendertest/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/rendertest/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/rendertest/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/rendertest/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/rendertest/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/rendertest/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/rendertest/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/rendertest/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/rendertest/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/rendertest/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/rendertest/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/rendertest/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/rendertest/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/rendertest/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/rendertest/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/rendertest/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/rendertest/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/rendertest/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/rendertest/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/rendertest/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/rendertest/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/rendertest/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/rendertest/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/sandy": { + "name": "@freesewing/sandy", + "version": "4.0.0-rc.16", + "license": "MIT", + "dependencies": { + "@freesewing/plugin-ringsector": "4.0.0-rc.16" + }, + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/snapseries": "4.0.0-rc.16" + } + }, + "designs/sandy/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/sandy/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/sandy/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/sandy/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/sandy/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/sandy/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/sandy/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/sandy/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/sandy/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/sandy/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/sandy/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/sandy/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/sandy/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/sandy/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/sandy/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/sandy/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/sandy/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/sandy/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/sandy/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/sandy/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/sandy/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/sandy/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/sandy/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/sandy/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/shelly": { + "name": "@freesewing/shelly", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/shelly/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/shelly/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/shelly/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/shelly/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/shelly/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/shelly/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/shelly/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/shelly/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/shelly/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/shelly/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/shelly/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/shelly/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/shelly/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/shelly/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/shelly/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/shelly/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/shelly/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/shelly/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/shelly/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/shelly/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/shelly/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/shelly/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/shelly/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/shelly/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/shin": { + "name": "@freesewing/shin", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/snapseries": "4.0.0-rc.16" + } + }, + "designs/shin/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/shin/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/shin/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/shin/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/shin/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/shin/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/shin/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/shin/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/shin/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/shin/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/shin/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/shin/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/shin/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/shin/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/shin/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/shin/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/shin/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/shin/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/shin/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/shin/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/shin/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/shin/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/shin/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/shin/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/simon": { + "name": "@freesewing/simon", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/brian": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16", + "@freesewing/plugin-flip": "4.0.0-rc.16" + } + }, + "designs/simon/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/simon/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/simon/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/simon/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/simon/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/simon/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/simon/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/simon/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/simon/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/simon/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/simon/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/simon/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/simon/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/simon/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/simon/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/simon/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/simon/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/simon/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/simon/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/simon/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/simon/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/simon/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/simon/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/simon/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/simone": { + "name": "@freesewing/simone", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/brian": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16", + "@freesewing/plugin-flip": "4.0.0-rc.16", + "@freesewing/simon": "4.0.0-rc.16" + } + }, + "designs/simone/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/simone/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/simone/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/simone/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/simone/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/simone/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/simone/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/simone/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/simone/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/simone/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/simone/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/simone/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/simone/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/simone/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/simone/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/simone/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/simone/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/simone/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/simone/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/simone/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/simone/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/simone/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/simone/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/simone/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/skully": { + "name": "@freesewing/skully", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/skully/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/skully/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/skully/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/skully/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/skully/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/skully/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/skully/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/skully/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/skully/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/skully/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/skully/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/skully/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/skully/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/skully/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/skully/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/skully/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/skully/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/skully/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/skully/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/skully/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/skully/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/skully/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/skully/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/skully/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/sven": { + "name": "@freesewing/sven", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/brian": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16" + } + }, + "designs/sven/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/sven/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/sven/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/sven/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/sven/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/sven/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/sven/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/sven/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/sven/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/sven/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/sven/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/sven/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/sven/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/sven/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/sven/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/sven/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/sven/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/sven/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/sven/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/sven/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/sven/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/sven/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/sven/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/sven/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/tamiko": { + "name": "@freesewing/tamiko", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16" + } + }, + "designs/tamiko/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/tamiko/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/tamiko/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/tamiko/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/tamiko/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/tamiko/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/tamiko/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/tamiko/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/tamiko/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/tamiko/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/tamiko/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/tamiko/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/tamiko/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/tamiko/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/tamiko/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/tamiko/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/tamiko/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/tamiko/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/tamiko/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/tamiko/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/tamiko/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/tamiko/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/tamiko/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/tamiko/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/teagan": { + "name": "@freesewing/teagan", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/brian": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16" + } + }, + "designs/teagan/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/teagan/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/teagan/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/teagan/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/teagan/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/teagan/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/teagan/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/teagan/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/teagan/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/teagan/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/teagan/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/teagan/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/teagan/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/teagan/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/teagan/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/teagan/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/teagan/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/teagan/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/teagan/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/teagan/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/teagan/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/teagan/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/teagan/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/teagan/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/tiberius": { + "name": "@freesewing/tiberius", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/tiberius/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/tiberius/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/tiberius/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/tiberius/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/tiberius/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/tiberius/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/tiberius/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/tiberius/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/tiberius/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/tiberius/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/tiberius/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/tiberius/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/tiberius/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/tiberius/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/tiberius/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/tiberius/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/tiberius/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/tiberius/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/tiberius/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/tiberius/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/tiberius/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/tiberius/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/tiberius/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/tiberius/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/titan": { + "name": "@freesewing/titan", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/snapseries": "4.0.0-rc.16" + } + }, + "designs/titan/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/titan/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/titan/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/titan/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/titan/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/titan/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/titan/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/titan/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/titan/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/titan/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/titan/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/titan/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/titan/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/titan/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/titan/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/titan/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/titan/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/titan/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/titan/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/titan/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/titan/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/titan/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/titan/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/titan/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/trayvon": { + "name": "@freesewing/trayvon", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/snapseries": "4.0.0-rc.16" + } + }, + "designs/trayvon/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/trayvon/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/trayvon/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/trayvon/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/trayvon/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/trayvon/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/trayvon/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/trayvon/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/trayvon/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/trayvon/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/trayvon/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/trayvon/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/trayvon/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/trayvon/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/trayvon/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/trayvon/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/trayvon/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/trayvon/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/trayvon/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/trayvon/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/trayvon/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/trayvon/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/trayvon/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/trayvon/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/tristan": { + "name": "@freesewing/tristan", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/tristan/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/tristan/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/tristan/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/tristan/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/tristan/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/tristan/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/tristan/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/tristan/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/tristan/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/tristan/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/tristan/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/tristan/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/tristan/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/tristan/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/tristan/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/tristan/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/tristan/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/tristan/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/tristan/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/tristan/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/tristan/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/tristan/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/tristan/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/tristan/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/uma": { + "name": "@freesewing/uma", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/uma/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/uma/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/uma/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/uma/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/uma/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/uma/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/uma/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/uma/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/uma/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/uma/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/uma/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/uma/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/uma/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/uma/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/uma/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/uma/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/uma/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/uma/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/uma/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/uma/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/uma/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/uma/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/uma/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/uma/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/umbra": { + "name": "@freesewing/umbra", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/umbra/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/umbra/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/umbra/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/umbra/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/umbra/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/umbra/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/umbra/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/umbra/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/umbra/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/umbra/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/umbra/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/umbra/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/umbra/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/umbra/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/umbra/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/umbra/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/umbra/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/umbra/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/umbra/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/umbra/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/umbra/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/umbra/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/umbra/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/umbra/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/wahid": { + "name": "@freesewing/wahid", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/brian": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16" + } + }, + "designs/wahid/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/wahid/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/wahid/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/wahid/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/wahid/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/wahid/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/wahid/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/wahid/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/wahid/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/wahid/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/wahid/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/wahid/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/wahid/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/wahid/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/wahid/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/wahid/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/wahid/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/wahid/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/wahid/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/wahid/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/wahid/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/wahid/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/wahid/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/wahid/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/walburga": { + "name": "@freesewing/walburga", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/walburga/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/walburga/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/walburga/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/walburga/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/walburga/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/walburga/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/walburga/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/walburga/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/walburga/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/walburga/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/walburga/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/walburga/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/walburga/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/walburga/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/walburga/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/walburga/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/walburga/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/walburga/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/walburga/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/walburga/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/walburga/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/walburga/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/walburga/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/walburga/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/waralee": { + "name": "@freesewing/waralee", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "designs/waralee/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/waralee/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/waralee/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/waralee/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/waralee/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/waralee/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/waralee/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/waralee/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/waralee/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/waralee/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/waralee/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/waralee/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/waralee/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/waralee/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/waralee/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/waralee/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/waralee/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/waralee/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/waralee/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/waralee/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/waralee/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/waralee/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/waralee/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/waralee/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/yuri": { + "name": "@freesewing/yuri", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "@freesewing/models": "4.0.0-rc.16", + "@freesewing/plugin-timing": "4.0.0-rc.16", + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/brian": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16" + } + }, + "designs/yuri/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "designs/yuri/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "designs/yuri/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "designs/yuri/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "designs/yuri/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "designs/yuri/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "designs/yuri/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/yuri/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "designs/yuri/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "designs/yuri/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/yuri/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/yuri/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "designs/yuri/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "designs/yuri/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/yuri/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "designs/yuri/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "designs/yuri/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "designs/yuri/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "designs/yuri/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "designs/yuri/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "designs/yuri/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "designs/yuri/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/yuri/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "designs/yuri/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz", + "integrity": "sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.17.9", + "@algolia/autocomplete-shared": "1.17.9" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz", + "integrity": "sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.17.9" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz", + "integrity": "sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.17.9" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz", + "integrity": "sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==", + "license": "MIT", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.20.3", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.20.3.tgz", + "integrity": "sha512-wPOzHYSsW+H97JkBLmnlOdJSpbb9mIiuNPycUCV5DgzSkJFaI/OFxXfZXAh1gqxK+hf0miKue1C9bltjWljrNA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.20.3", + "@algolia/requester-browser-xhr": "5.20.3", + "@algolia/requester-fetch": "5.20.3", + "@algolia/requester-node-http": "5.20.3" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "5.20.3", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.20.3.tgz", + "integrity": "sha512-XE3iduH9lA7iTQacDGofBQyIyIgaX8qbTRRdj1bOCmfzc9b98CoiMwhNwdTifmmMewmN0EhVF3hP8KjKWwX7Yw==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.20.3", + "@algolia/requester-browser-xhr": "5.20.3", + "@algolia/requester-fetch": "5.20.3", + "@algolia/requester-node-http": "5.20.3" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.20.3", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.20.3.tgz", + "integrity": "sha512-IYRd/A/R3BXeaQVT2805lZEdWo54v39Lqa7ABOxIYnUvX2vvOMW1AyzCuT0U7Q+uPdD4UW48zksUKRixShcWxA==", + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.20.3", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.20.3.tgz", + "integrity": "sha512-QGc/bmDUBgzB71rDL6kihI2e1Mx6G6PxYO5Ks84iL3tDcIel1aFuxtRF14P8saGgdIe1B6I6QkpkeIddZ6vWQw==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.20.3", + "@algolia/requester-browser-xhr": "5.20.3", + "@algolia/requester-fetch": "5.20.3", + "@algolia/requester-node-http": "5.20.3" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "5.20.3", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.20.3.tgz", + "integrity": "sha512-zuM31VNPDJ1LBIwKbYGz/7+CSm+M8EhlljDamTg8AnDilnCpKjBebWZR5Tftv/FdWSro4tnYGOIz1AURQgZ+tQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.20.3", + "@algolia/requester-browser-xhr": "5.20.3", + "@algolia/requester-fetch": "5.20.3", + "@algolia/requester-node-http": "5.20.3" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.20.3", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.20.3.tgz", + "integrity": "sha512-Nn872PuOI8qzi1bxMMhJ0t2AzVBqN01jbymBQOkypvZHrrjZPso3iTpuuLLo9gi3yc/08vaaWTAwJfPhxPwJUw==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.20.3", + "@algolia/requester-browser-xhr": "5.20.3", + "@algolia/requester-fetch": "5.20.3", + "@algolia/requester-node-http": "5.20.3" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.20.3", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.20.3.tgz", + "integrity": "sha512-9+Fm1ahV8/2goSIPIqZnVitV5yHW5E5xTdKy33xnqGd45A9yVv5tTkudWzEXsbfBB47j9Xb3uYPZjAvV5RHbKA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.20.3", + "@algolia/requester-browser-xhr": "5.20.3", + "@algolia/requester-fetch": "5.20.3", + "@algolia/requester-node-http": "5.20.3" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/events": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", + "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==", + "license": "MIT" + }, + "node_modules/@algolia/ingestion": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.20.3.tgz", + "integrity": "sha512-5GHNTiZ3saLjTNyr6WkP5hzDg2eFFAYWomvPcm9eHWskjzXt8R0IOiW9kkTS6I6hXBwN5H9Zna5mZDSqqJdg+g==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.20.3", + "@algolia/requester-browser-xhr": "5.20.3", + "@algolia/requester-fetch": "5.20.3", + "@algolia/requester-node-http": "5.20.3" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.20.3.tgz", + "integrity": "sha512-KUWQbTPoRjP37ivXSQ1+lWMfaifCCMzTnEcEnXwAmherS5Tp7us6BAqQDMGOD4E7xyaS2I8pto6WlOzxH+CxmA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.20.3", + "@algolia/requester-browser-xhr": "5.20.3", + "@algolia/requester-fetch": "5.20.3", + "@algolia/requester-node-http": "5.20.3" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "5.20.3", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.20.3.tgz", + "integrity": "sha512-oo/gG77xTTTclkrdFem0Kmx5+iSRFiwuRRdxZETDjwzCI7svutdbwBgV/Vy4D4QpYaX4nhY/P43k84uEowCE4Q==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.20.3", + "@algolia/requester-browser-xhr": "5.20.3", + "@algolia/requester-fetch": "5.20.3", + "@algolia/requester-node-http": "5.20.3" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.20.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.20.3.tgz", + "integrity": "sha512-BkkW7otbiI/Er1AiEPZs1h7lxbtSO9p09jFhv3/iT8/0Yz0CY79VJ9iq+Wv1+dq/l0OxnMpBy8mozrieGA3mXQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.20.3" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.20.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.20.3.tgz", + "integrity": "sha512-eAVlXz7UNzTsA1EDr+p0nlIH7WFxo7k3NMxYe8p38DH8YVWLgm2MgOVFUMNg9HCi6ZNOi/A2w/id2ZZ4sKgUOw==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.20.3" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.20.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.20.3.tgz", + "integrity": "sha512-FqR3pQPfHfQyX1wgcdK6iyqu86yP76MZd4Pzj1y/YLMj9rRmRCY0E0AffKr//nrOFEwv6uY8BQY4fd9/6b0ZCg==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.20.3" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@aws-crypto/ie11-detection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", + "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", + "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/sha256-js": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", + "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/@aws-crypto/util": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", + "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/util/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/@aws-sdk/client-sesv2": { + "version": "3.592.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sesv2/-/client-sesv2-3.592.0.tgz", + "integrity": "sha512-EisiJXX3oojiZeSUeEAcTF2/7VX6qY8+r3PGzEaodvvZkhCRpduKLToZvtrvDZU1IG5mqzins6QXGkJRmqEG/A==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sso-oidc": "3.592.0", + "@aws-sdk/client-sts": "3.592.0", + "@aws-sdk/core": "3.592.0", + "@aws-sdk/credential-provider-node": "3.592.0", + "@aws-sdk/middleware-host-header": "3.577.0", + "@aws-sdk/middleware-logger": "3.577.0", + "@aws-sdk/middleware-recursion-detection": "3.577.0", + "@aws-sdk/middleware-user-agent": "3.587.0", + "@aws-sdk/region-config-resolver": "3.587.0", + "@aws-sdk/types": "3.577.0", + "@aws-sdk/util-endpoints": "3.587.0", + "@aws-sdk/util-user-agent-browser": "3.577.0", + "@aws-sdk/util-user-agent-node": "3.587.0", + "@smithy/config-resolver": "^3.0.1", + "@smithy/core": "^2.2.0", + "@smithy/fetch-http-handler": "^3.0.1", + "@smithy/hash-node": "^3.0.0", + "@smithy/invalid-dependency": "^3.0.0", + "@smithy/middleware-content-length": "^3.0.0", + "@smithy/middleware-endpoint": "^3.0.1", + "@smithy/middleware-retry": "^3.0.3", + "@smithy/middleware-serde": "^3.0.0", + "@smithy/middleware-stack": "^3.0.0", + "@smithy/node-config-provider": "^3.1.0", + "@smithy/node-http-handler": "^3.0.0", + "@smithy/protocol-http": "^4.0.0", + "@smithy/smithy-client": "^3.1.1", + "@smithy/types": "^3.0.0", + "@smithy/url-parser": "^3.0.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.3", + "@smithy/util-defaults-mode-node": "^3.0.3", + "@smithy/util-endpoints": "^2.0.1", + "@smithy/util-middleware": "^3.0.0", + "@smithy/util-retry": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.592.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.592.0.tgz", + "integrity": "sha512-w+SuW47jQqvOC7fonyjFjsOh3yjqJ+VpWdVrmrl0E/KryBE7ho/Wn991Buf/EiHHeJikoWgHsAIPkBH29+ntdA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.592.0", + "@aws-sdk/middleware-host-header": "3.577.0", + "@aws-sdk/middleware-logger": "3.577.0", + "@aws-sdk/middleware-recursion-detection": "3.577.0", + "@aws-sdk/middleware-user-agent": "3.587.0", + "@aws-sdk/region-config-resolver": "3.587.0", + "@aws-sdk/types": "3.577.0", + "@aws-sdk/util-endpoints": "3.587.0", + "@aws-sdk/util-user-agent-browser": "3.577.0", + "@aws-sdk/util-user-agent-node": "3.587.0", + "@smithy/config-resolver": "^3.0.1", + "@smithy/core": "^2.2.0", + "@smithy/fetch-http-handler": "^3.0.1", + "@smithy/hash-node": "^3.0.0", + "@smithy/invalid-dependency": "^3.0.0", + "@smithy/middleware-content-length": "^3.0.0", + "@smithy/middleware-endpoint": "^3.0.1", + "@smithy/middleware-retry": "^3.0.3", + "@smithy/middleware-serde": "^3.0.0", + "@smithy/middleware-stack": "^3.0.0", + "@smithy/node-config-provider": "^3.1.0", + "@smithy/node-http-handler": "^3.0.0", + "@smithy/protocol-http": "^4.0.0", + "@smithy/smithy-client": "^3.1.1", + "@smithy/types": "^3.0.0", + "@smithy/url-parser": "^3.0.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.3", + "@smithy/util-defaults-mode-node": "^3.0.3", + "@smithy/util-endpoints": "^2.0.1", + "@smithy/util-middleware": "^3.0.0", + "@smithy/util-retry": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.592.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.592.0.tgz", + "integrity": "sha512-11Zvm8nm0s/UF3XCjzFRpQU+8FFVW5rcr3BHfnH6xAe5JEoN6bJN/n+wOfnElnjek+90hh+Qc7s141AMrCjiiw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.592.0", + "@aws-sdk/core": "3.592.0", + "@aws-sdk/credential-provider-node": "3.592.0", + "@aws-sdk/middleware-host-header": "3.577.0", + "@aws-sdk/middleware-logger": "3.577.0", + "@aws-sdk/middleware-recursion-detection": "3.577.0", + "@aws-sdk/middleware-user-agent": "3.587.0", + "@aws-sdk/region-config-resolver": "3.587.0", + "@aws-sdk/types": "3.577.0", + "@aws-sdk/util-endpoints": "3.587.0", + "@aws-sdk/util-user-agent-browser": "3.577.0", + "@aws-sdk/util-user-agent-node": "3.587.0", + "@smithy/config-resolver": "^3.0.1", + "@smithy/core": "^2.2.0", + "@smithy/fetch-http-handler": "^3.0.1", + "@smithy/hash-node": "^3.0.0", + "@smithy/invalid-dependency": "^3.0.0", + "@smithy/middleware-content-length": "^3.0.0", + "@smithy/middleware-endpoint": "^3.0.1", + "@smithy/middleware-retry": "^3.0.3", + "@smithy/middleware-serde": "^3.0.0", + "@smithy/middleware-stack": "^3.0.0", + "@smithy/node-config-provider": "^3.1.0", + "@smithy/node-http-handler": "^3.0.0", + "@smithy/protocol-http": "^4.0.0", + "@smithy/smithy-client": "^3.1.1", + "@smithy/types": "^3.0.0", + "@smithy/url-parser": "^3.0.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.3", + "@smithy/util-defaults-mode-node": "^3.0.3", + "@smithy/util-endpoints": "^2.0.1", + "@smithy/util-middleware": "^3.0.0", + "@smithy/util-retry": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.592.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.592.0.tgz", + "integrity": "sha512-KUrOdszZfcrlpKr4dpdkGibZ/qq3Lnfu1rjv1U+V1QJQ9OuMo9J3sDWpWV9tigNqY0aGllarWH5cJbz9868W/w==", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sso-oidc": "3.592.0", + "@aws-sdk/core": "3.592.0", + "@aws-sdk/credential-provider-node": "3.592.0", + "@aws-sdk/middleware-host-header": "3.577.0", + "@aws-sdk/middleware-logger": "3.577.0", + "@aws-sdk/middleware-recursion-detection": "3.577.0", + "@aws-sdk/middleware-user-agent": "3.587.0", + "@aws-sdk/region-config-resolver": "3.587.0", + "@aws-sdk/types": "3.577.0", + "@aws-sdk/util-endpoints": "3.587.0", + "@aws-sdk/util-user-agent-browser": "3.577.0", + "@aws-sdk/util-user-agent-node": "3.587.0", + "@smithy/config-resolver": "^3.0.1", + "@smithy/core": "^2.2.0", + "@smithy/fetch-http-handler": "^3.0.1", + "@smithy/hash-node": "^3.0.0", + "@smithy/invalid-dependency": "^3.0.0", + "@smithy/middleware-content-length": "^3.0.0", + "@smithy/middleware-endpoint": "^3.0.1", + "@smithy/middleware-retry": "^3.0.3", + "@smithy/middleware-serde": "^3.0.0", + "@smithy/middleware-stack": "^3.0.0", + "@smithy/node-config-provider": "^3.1.0", + "@smithy/node-http-handler": "^3.0.0", + "@smithy/protocol-http": "^4.0.0", + "@smithy/smithy-client": "^3.1.1", + "@smithy/types": "^3.0.0", + "@smithy/url-parser": "^3.0.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.3", + "@smithy/util-defaults-mode-node": "^3.0.3", + "@smithy/util-endpoints": "^2.0.1", + "@smithy/util-middleware": "^3.0.0", + "@smithy/util-retry": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/core": { + "version": "3.592.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.592.0.tgz", + "integrity": "sha512-gLPMXR/HXDP+9gXAt58t7gaMTvRts9i6Q7NMISpkGF54wehskl5WGrbdtHJFylrlJ5BQo3XVY6i661o+EuR1wg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^2.2.0", + "@smithy/protocol-http": "^4.0.0", + "@smithy/signature-v4": "^3.0.0", + "@smithy/smithy-client": "^3.1.1", + "@smithy/types": "^3.0.0", + "fast-xml-parser": "4.2.5", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.587.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.587.0.tgz", + "integrity": "sha512-Hyg/5KFECIk2k5o8wnVEiniV86yVkhn5kzITUydmNGCkXdBFHMHRx6hleQ1bqwJHbBskyu8nbYamzcwymmGwmw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.577.0", + "@smithy/property-provider": "^3.1.0", + "@smithy/types": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.587.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.587.0.tgz", + "integrity": "sha512-Su1SRWVRCuR1e32oxX3C1V4c5hpPN20WYcRfdcr2wXwHqSvys5DrnmuCC+JoEnS/zt3adUJhPliTqpfKgSdMrA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.577.0", + "@smithy/fetch-http-handler": "^3.0.1", + "@smithy/node-http-handler": "^3.0.0", + "@smithy/property-provider": "^3.1.0", + "@smithy/protocol-http": "^4.0.0", + "@smithy/smithy-client": "^3.1.1", + "@smithy/types": "^3.0.0", + "@smithy/util-stream": "^3.0.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.592.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.592.0.tgz", + "integrity": "sha512-3kG6ngCIOPbLJZZ3RV+NsU7HVK6vX1+1DrPJKj9fVlPYn7IXsk8NAaUT5885yC7+jKizjv0cWLrLKvAJV5gfUA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.587.0", + "@aws-sdk/credential-provider-http": "3.587.0", + "@aws-sdk/credential-provider-process": "3.587.0", + "@aws-sdk/credential-provider-sso": "3.592.0", + "@aws-sdk/credential-provider-web-identity": "3.587.0", + "@aws-sdk/types": "3.577.0", + "@smithy/credential-provider-imds": "^3.1.0", + "@smithy/property-provider": "^3.1.0", + "@smithy/shared-ini-file-loader": "^3.1.0", + "@smithy/types": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.592.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.592.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.592.0.tgz", + "integrity": "sha512-BguihBGTrEjVBQ07hm+ZsO29eNJaxwBwUZMftgGAm2XcMIEClNPfm5hydxu2BmA4ouIJQJ6nG8pNYghEumM+Aw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.587.0", + "@aws-sdk/credential-provider-http": "3.587.0", + "@aws-sdk/credential-provider-ini": "3.592.0", + "@aws-sdk/credential-provider-process": "3.587.0", + "@aws-sdk/credential-provider-sso": "3.592.0", + "@aws-sdk/credential-provider-web-identity": "3.587.0", + "@aws-sdk/types": "3.577.0", + "@smithy/credential-provider-imds": "^3.1.0", + "@smithy/property-provider": "^3.1.0", + "@smithy/shared-ini-file-loader": "^3.1.0", + "@smithy/types": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.587.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.587.0.tgz", + "integrity": "sha512-V4xT3iCqkF8uL6QC4gqBJg/2asd/damswP1h9HCfqTllmPWzImS+8WD3VjgTLw5b0KbTy+ZdUhKc0wDnyzkzxg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.577.0", + "@smithy/property-provider": "^3.1.0", + "@smithy/shared-ini-file-loader": "^3.1.0", + "@smithy/types": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.592.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.592.0.tgz", + "integrity": "sha512-fYFzAdDHKHvhtufPPtrLdSv8lO6GuW3em6n3erM5uFdpGytNpjXvr3XGokIsuXcNkETAY/Xihg+G9ksNE8WJxQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-sso": "3.592.0", + "@aws-sdk/token-providers": "3.587.0", + "@aws-sdk/types": "3.577.0", + "@smithy/property-provider": "^3.1.0", + "@smithy/shared-ini-file-loader": "^3.1.0", + "@smithy/types": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.587.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.587.0.tgz", + "integrity": "sha512-XqIx/I2PG7kyuw3WjAP9wKlxy8IvFJwB8asOFT1xPFoVfZYKIogjG9oLP5YiRtfvDkWIztHmg5MlVv3HdJDGRw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.577.0", + "@smithy/property-provider": "^3.1.0", + "@smithy/types": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.587.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.577.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.577.0.tgz", + "integrity": "sha512-9ca5MJz455CODIVXs0/sWmJm7t3QO4EUa1zf8pE8grLpzf0J94bz/skDWm37Pli13T3WaAQBHCTiH2gUVfCsWg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.577.0", + "@smithy/protocol-http": "^4.0.0", + "@smithy/types": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.577.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.577.0.tgz", + "integrity": "sha512-aPFGpGjTZcJYk+24bg7jT4XdIp42mFXSuPt49lw5KygefLyJM/sB0bKKqPYYivW0rcuZ9brQ58eZUNthrzYAvg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.577.0", + "@smithy/types": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.577.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.577.0.tgz", + "integrity": "sha512-pn3ZVEd2iobKJlR3H+bDilHjgRnNrQ6HMmK9ZzZw89Ckn3Dcbv48xOv4RJvu0aU8SDLl/SNCxppKjeLDTPGBNA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.577.0", + "@smithy/protocol-http": "^4.0.0", + "@smithy/types": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.587.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.587.0.tgz", + "integrity": "sha512-SyDomN+IOrygLucziG7/nOHkjUXES5oH5T7p8AboO8oakMQJdnudNXiYWTicQWO52R51U6CR27rcMPTGeMedYA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.577.0", + "@aws-sdk/util-endpoints": "3.587.0", + "@smithy/protocol-http": "^4.0.0", + "@smithy/types": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.587.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.587.0.tgz", + "integrity": "sha512-93I7IPZtulZQoRK+O20IJ4a1syWwYPzoO2gc3v+/GNZflZPV3QJXuVbIm0pxBsu0n/mzKGUKqSOLPIaN098HcQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.577.0", + "@smithy/node-config-provider": "^3.1.0", + "@smithy/types": "^3.0.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.587.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.587.0.tgz", + "integrity": "sha512-ULqhbnLy1hmJNRcukANBWJmum3BbjXnurLPSFXoGdV0llXYlG55SzIla2VYqdveQEEjmsBuTZdFvXAtNpmS5Zg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.577.0", + "@smithy/property-provider": "^3.1.0", + "@smithy/shared-ini-file-loader": "^3.1.0", + "@smithy/types": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sso-oidc": "^3.587.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.577.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.577.0.tgz", + "integrity": "sha512-FT2JZES3wBKN/alfmhlo+3ZOq/XJ0C7QOZcDNrpKjB0kqYoKjhVKZ/Hx6ArR0czkKfHzBBEs6y40ebIHx2nSmA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.587.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.587.0.tgz", + "integrity": "sha512-8I1HG6Em8wQWqKcRW6m358mqebRVNpL8XrrEoT4In7xqkKkmYtHRNVYP6lcmiQh5pZ/c/FXu8dSchuFIWyEtqQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.577.0", + "@smithy/types": "^3.0.0", + "@smithy/util-endpoints": "^2.0.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.723.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.723.0.tgz", + "integrity": "sha512-Yf2CS10BqK688DRsrKI/EO6B8ff5J86NXe4C+VCysK7UOgN0l1zOTeTukZ3H8Q9tYYX3oaF1961o8vRkFm7Nmw==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.577.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.577.0.tgz", + "integrity": "sha512-zEAzHgR6HWpZOH7xFgeJLc6/CzMcx4nxeQolZxVZoB5pPaJd3CjyRhZN0xXeZB0XIRCWmb4yJBgyiugXLNMkLA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.577.0", + "@smithy/types": "^3.0.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.587.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.587.0.tgz", + "integrity": "sha512-Pnl+DUe/bvnbEEDHP3iVJrOtE3HbFJBPgsD6vJ+ml/+IYk1Eq49jEG+EHZdNTPz3SDG0kbp2+7u41MKYJHR/iQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.577.0", + "@smithy/node-config-provider": "^3.1.0", + "@smithy/types": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.259.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", + "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", + "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.26.8.tgz", + "integrity": "sha512-3tBctaHRW6xSub26z7n8uyOTwwUsCdvIug/oxBH9n6yCO5hMj2vwDJAo7RbBMKrM7P+W2j61zLKviJQFGOYKMg==", + "license": "MIT", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz", + "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz", + "integrity": "sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.26.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz", + "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.2.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", + "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.26.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz", + "integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", + "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.9" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.9.tgz", + "integrity": "sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-decorators": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz", + "integrity": "sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz", + "integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.26.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz", + "integrity": "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.26.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz", + "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz", + "integrity": "sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz", + "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.26.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz", + "integrity": "sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.26.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.9.tgz", + "integrity": "sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", + "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", + "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz", + "integrity": "sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==", + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz", + "integrity": "sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.26.9.tgz", + "integrity": "sha512-Jf+8y9wXQbbxvVYTM8gO5oEF2POdNji0NMltEkG7FtmzD9PVz7/lxpqSdTvwsjTMU5HIHuDVNf2SOxLkWi+wPQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz", + "integrity": "sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.26.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.26.7.tgz", + "integrity": "sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.26.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.8.tgz", + "integrity": "sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.9.tgz", + "integrity": "sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.8", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.26.8", + "@babel/plugin-transform-async-to-generator": "^7.25.9", + "@babel/plugin-transform-block-scoped-functions": "^7.26.5", + "@babel/plugin-transform-block-scoping": "^7.25.9", + "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", + "@babel/plugin-transform-classes": "^7.25.9", + "@babel/plugin-transform-computed-properties": "^7.25.9", + "@babel/plugin-transform-destructuring": "^7.25.9", + "@babel/plugin-transform-dotall-regex": "^7.25.9", + "@babel/plugin-transform-duplicate-keys": "^7.25.9", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-dynamic-import": "^7.25.9", + "@babel/plugin-transform-exponentiation-operator": "^7.26.3", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.26.9", + "@babel/plugin-transform-function-name": "^7.25.9", + "@babel/plugin-transform-json-strings": "^7.25.9", + "@babel/plugin-transform-literals": "^7.25.9", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", + "@babel/plugin-transform-member-expression-literals": "^7.25.9", + "@babel/plugin-transform-modules-amd": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.26.3", + "@babel/plugin-transform-modules-systemjs": "^7.25.9", + "@babel/plugin-transform-modules-umd": "^7.25.9", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-new-target": "^7.25.9", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.26.6", + "@babel/plugin-transform-numeric-separator": "^7.25.9", + "@babel/plugin-transform-object-rest-spread": "^7.25.9", + "@babel/plugin-transform-object-super": "^7.25.9", + "@babel/plugin-transform-optional-catch-binding": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9", + "@babel/plugin-transform-private-methods": "^7.25.9", + "@babel/plugin-transform-private-property-in-object": "^7.25.9", + "@babel/plugin-transform-property-literals": "^7.25.9", + "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", + "@babel/plugin-transform-reserved-words": "^7.25.9", + "@babel/plugin-transform-shorthand-properties": "^7.25.9", + "@babel/plugin-transform-spread": "^7.25.9", + "@babel/plugin-transform-sticky-regex": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.26.8", + "@babel/plugin-transform-typeof-symbol": "^7.26.7", + "@babel/plugin-transform-unicode-escapes": "^7.25.9", + "@babel/plugin-transform-unicode-property-regex": "^7.25.9", + "@babel/plugin-transform-unicode-regex": "^7.25.9", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.11.0", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.40.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", + "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.3", + "core-js-compat": "^3.40.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.26.3.tgz", + "integrity": "sha512-Nl03d6T9ky516DGK2YMxrTqvnpUW63TnJMOMonj+Zae0JiPC5BC9xPMSL6L8fiSpA5vP88qfygavVQvnLp+6Cw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-transform-react-display-name": "^7.25.9", + "@babel/plugin-transform-react-jsx": "^7.25.9", + "@babel/plugin-transform-react-jsx-development": "^7.25.9", + "@babel/plugin-transform-react-pure-annotations": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", + "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-typescript": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.9.tgz", + "integrity": "sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.26.9.tgz", + "integrity": "sha512-5EVjbTegqN7RSJle6hMWYxO4voo4rI+9krITk+DWR+diJgGrjZjrIBnJhjrHYYQsFgI7j1w1QnrvV7YSKBfYGg==", + "license": "MIT", + "dependencies": { + "core-js-pure": "^3.30.2", + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", + "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz", + "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz", + "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz", + "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@codemirror/autocomplete": { + "version": "6.18.6", + "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.18.6.tgz", + "integrity": "sha512-PHHBXFomUs5DF+9tCOM/UoW6XQ4R44lLNNhRaW9PKPTU0D7lIjRg3ElxaJnTwsl/oHiR93WSXDBrekhoUGCPtg==", + "license": "MIT", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.17.0", + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@codemirror/commands": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.8.0.tgz", + "integrity": "sha512-q8VPEFaEP4ikSlt6ZxjB3zW72+7osfAYW9i8Zu943uqbKuz6utc1+F170hyLUCUltXORjQXRyYQNfkckzA/bPQ==", + "license": "MIT", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.4.0", + "@codemirror/view": "^6.27.0", + "@lezer/common": "^1.1.0" + } + }, + "node_modules/@codemirror/lang-yaml": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@codemirror/lang-yaml/-/lang-yaml-6.1.2.tgz", + "integrity": "sha512-dxrfG8w5Ce/QbT7YID7mWZFKhdhsaTNOYjOkSIMt1qmC4VQnXSDSYVHHHn8k6kJUfIhtLo8t1JJgltlxWdsITw==", + "license": "MIT", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.2.0", + "@lezer/lr": "^1.0.0", + "@lezer/yaml": "^1.0.0" + } + }, + "node_modules/@codemirror/language": { + "version": "6.10.8", + "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.10.8.tgz", + "integrity": "sha512-wcP8XPPhDH2vTqf181U8MbZnW+tDyPYy0UzVOa+oHORjyT+mhhom9vBd7dApJwoDz9Nb/a8kHjJIsuA/t8vNFw==", + "license": "MIT", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.23.0", + "@lezer/common": "^1.1.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0", + "style-mod": "^4.0.0" + } + }, + "node_modules/@codemirror/lint": { + "version": "6.8.4", + "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.8.4.tgz", + "integrity": "sha512-u4q7PnZlJUojeRe8FJa/njJcMctISGgPQ4PnWsd9268R4ZTtU+tfFYmwkBvgcrK2+QQ8tYFVALVb5fVJykKc5A==", + "license": "MIT", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.35.0", + "crelt": "^1.0.5" + } + }, + "node_modules/@codemirror/search": { + "version": "6.5.9", + "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.9.tgz", + "integrity": "sha512-7DdQ9aaZMMxuWB1u6IIFWWuK9NocVZwvo4nG8QjJTS6oZGvteoLSiXw3EbVZVlO08Ri2ltO89JVInMpfcJxhtg==", + "license": "MIT", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "crelt": "^1.0.5" + } + }, + "node_modules/@codemirror/state": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.5.2.tgz", + "integrity": "sha512-FVqsPqtPWKVVL3dPSxy8wEF/ymIEuVzF1PK3VbUgrxXpJUSHQWWZz4JMToquRxnkw+36LTamCZG2iua2Ptq0fA==", + "license": "MIT", + "dependencies": { + "@marijn/find-cluster-break": "^1.0.0" + } + }, + "node_modules/@codemirror/theme-one-dark": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@codemirror/theme-one-dark/-/theme-one-dark-6.1.2.tgz", + "integrity": "sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA==", + "license": "MIT", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "@lezer/highlight": "^1.0.0" + } + }, + "node_modules/@codemirror/view": { + "version": "6.36.3", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.36.3.tgz", + "integrity": "sha512-N2bilM47QWC8Hnx0rMdDxO2x2ImJ1FvZWXubwKgjeoOrWwEiFrtpA7SFHcuZ+o2Ze2VzbkgbzWVj4+V18LVkeg==", + "license": "MIT", + "dependencies": { + "@codemirror/state": "^6.5.0", + "style-mod": "^4.1.0", + "w3c-keyname": "^2.2.4" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@commitlint/cli": { + "version": "19.7.1", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-19.7.1.tgz", + "integrity": "sha512-iObGjR1tE/PfDtDTEfd+tnRkB3/HJzpQqRTyofS2MPPkDn1mp3DBC8SoPDayokfAy+xKhF8+bwRCJO25Nea0YQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/format": "^19.5.0", + "@commitlint/lint": "^19.7.1", + "@commitlint/load": "^19.6.1", + "@commitlint/read": "^19.5.0", + "@commitlint/types": "^19.5.0", + "tinyexec": "^0.3.0", + "yargs": "^17.0.0" + }, + "bin": { + "commitlint": "cli.js" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/config-conventional": { + "version": "19.7.1", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-19.7.1.tgz", + "integrity": "sha512-fsEIF8zgiI/FIWSnykdQNj/0JE4av08MudLTyYHm4FlLWemKoQvPNUYU2M/3tktWcCEyq7aOkDDgtjrmgWFbvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.5.0", + "conventional-changelog-conventionalcommits": "^7.0.2" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/config-validator": { + "version": "19.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-19.5.0.tgz", + "integrity": "sha512-CHtj92H5rdhKt17RmgALhfQt95VayrUo2tSqY9g2w+laAXyk7K/Ef6uPm9tn5qSIwSmrLjKaXK9eiNuxmQrDBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.5.0", + "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/ensure": { + "version": "19.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-19.5.0.tgz", + "integrity": "sha512-Kv0pYZeMrdg48bHFEU5KKcccRfKmISSm9MvgIgkpI6m+ohFTB55qZlBW6eYqh/XDfRuIO0x4zSmvBjmOwWTwkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.5.0", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "lodash.snakecase": "^4.1.1", + "lodash.startcase": "^4.4.0", + "lodash.upperfirst": "^4.3.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/execute-rule": { + "version": "19.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-19.5.0.tgz", + "integrity": "sha512-aqyGgytXhl2ejlk+/rfgtwpPexYyri4t8/n4ku6rRJoRhGZpLFMqrZ+YaubeGysCP6oz4mMA34YSTaSOKEeNrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/format": { + "version": "19.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-19.5.0.tgz", + "integrity": "sha512-yNy088miE52stCI3dhG/vvxFo9e4jFkU1Mj3xECfzp/bIS/JUay4491huAlVcffOoMK1cd296q0W92NlER6r3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.5.0", + "chalk": "^5.3.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/format/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@commitlint/is-ignored": { + "version": "19.7.1", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-19.7.1.tgz", + "integrity": "sha512-3IaOc6HVg2hAoGleRK3r9vL9zZ3XY0rf1RsUf6jdQLuaD46ZHnXBiOPTyQ004C4IvYjSWqJwlh0/u2P73aIE3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.5.0", + "semver": "^7.6.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/is-ignored/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@commitlint/lint": { + "version": "19.7.1", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-19.7.1.tgz", + "integrity": "sha512-LhcPfVjcOcOZA7LEuBBeO00o3MeZa+tWrX9Xyl1r9PMd5FWsEoZI9IgnGqTKZ0lZt5pO3ZlstgnRyY1CJJc9Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/is-ignored": "^19.7.1", + "@commitlint/parse": "^19.5.0", + "@commitlint/rules": "^19.6.0", + "@commitlint/types": "^19.5.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load": { + "version": "19.6.1", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-19.6.1.tgz", + "integrity": "sha512-kE4mRKWWNju2QpsCWt428XBvUH55OET2N4QKQ0bF85qS/XbsRGG1MiTByDNlEVpEPceMkDr46LNH95DtRwcsfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/config-validator": "^19.5.0", + "@commitlint/execute-rule": "^19.5.0", + "@commitlint/resolve-extends": "^19.5.0", + "@commitlint/types": "^19.5.0", + "chalk": "^5.3.0", + "cosmiconfig": "^9.0.0", + "cosmiconfig-typescript-loader": "^6.1.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@commitlint/message": { + "version": "19.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-19.5.0.tgz", + "integrity": "sha512-R7AM4YnbxN1Joj1tMfCyBryOC5aNJBdxadTZkuqtWi3Xj0kMdutq16XQwuoGbIzL2Pk62TALV1fZDCv36+JhTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/parse": { + "version": "19.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-19.5.0.tgz", + "integrity": "sha512-cZ/IxfAlfWYhAQV0TwcbdR1Oc0/r0Ik1GEessDJ3Lbuma/MRO8FRQX76eurcXtmhJC//rj52ZSZuXUg0oIX0Fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.5.0", + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-parser": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/read": { + "version": "19.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-19.5.0.tgz", + "integrity": "sha512-TjS3HLPsLsxFPQj6jou8/CZFAmOP2y+6V4PGYt3ihbQKTY1Jnv0QG28WRKl/d1ha6zLODPZqsxLEov52dhR9BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/top-level": "^19.5.0", + "@commitlint/types": "^19.5.0", + "git-raw-commits": "^4.0.0", + "minimist": "^1.2.8", + "tinyexec": "^0.3.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/resolve-extends": { + "version": "19.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-19.5.0.tgz", + "integrity": "sha512-CU/GscZhCUsJwcKTJS9Ndh3AKGZTNFIOoQB2n8CmFnizE0VnEuJoum+COW+C1lNABEeqk6ssfc1Kkalm4bDklA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/config-validator": "^19.5.0", + "@commitlint/types": "^19.5.0", + "global-directory": "^4.0.1", + "import-meta-resolve": "^4.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/rules": { + "version": "19.6.0", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-19.6.0.tgz", + "integrity": "sha512-1f2reW7lbrI0X0ozZMesS/WZxgPa4/wi56vFuJENBmed6mWq5KsheN/nxqnl/C23ioxpPO/PL6tXpiiFy5Bhjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/ensure": "^19.5.0", + "@commitlint/message": "^19.5.0", + "@commitlint/to-lines": "^19.5.0", + "@commitlint/types": "^19.5.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/to-lines": { + "version": "19.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-19.5.0.tgz", + "integrity": "sha512-R772oj3NHPkodOSRZ9bBVNq224DOxQtNef5Pl8l2M8ZnkkzQfeSTr4uxawV2Sd3ui05dUVzvLNnzenDBO1KBeQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/top-level": { + "version": "19.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-19.5.0.tgz", + "integrity": "sha512-IP1YLmGAk0yWrImPRRc578I3dDUI5A2UBJx9FbSOjxe9sTlzFiwVJ+zeMLgAtHMtGZsC8LUnzmW1qRemkFU4ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^7.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/types": { + "version": "19.5.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-19.5.0.tgz", + "integrity": "sha512-DSHae2obMSMkAtTBSOulg5X7/z+rGLxcXQIkg3OmWvY6wifojge5uVMydfhUvs7yQj+V7jNmRZ2Xzl8GJyqRgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/conventional-commits-parser": "^5.0.0", + "chalk": "^5.3.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/types/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@csstools/cascade-layer-name-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.4.tgz", + "integrity": "sha512-7DFHlPuIxviKYZrOiwVU/PiHLm3lLUR23OMuEEtfEOQTOp9hzQ2JjdY6X5H18RVuUPJqSCI+qNnD5iOLMVE0bA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.1.tgz", + "integrity": "sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/css-calc": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.1.tgz", + "integrity": "sha512-rL7kaUnTkL9K+Cvo2pnCieqNpTKgQzy5f+N+5Iuko9HAoasP+xgprVh7KN/MaJVvVL1l0EzQq2MoqBHKSrDrag==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.7.tgz", + "integrity": "sha512-nkMp2mTICw32uE5NN+EsJ4f5N+IGFeCFu4bGpiKgb2Pq/7J/MpyLBeQ5ry4KKtRFZaYs6sTmcMYrSRIyj5DFKA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^5.0.1", + "@csstools/css-calc": "^2.1.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz", + "integrity": "sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.3" + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz", + "integrity": "sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/media-query-list-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.2.tgz", + "integrity": "sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + } + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.1.tgz", + "integrity": "sha512-XOfhI7GShVcKiKwmPAnWSqd2tBR0uxt+runAxttbSp/LY2U16yAVPmAf7e9q4JJ0d+xMNmpwNDLBXnmRCl3HMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-cascade-layers/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/@csstools/postcss-cascade-layers/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.7.tgz", + "integrity": "sha512-aDHYmhNIHR6iLw4ElWhf+tRqqaXwKnMl0YsQ/X105Zc4dQwe6yJpMrTN6BwOoESrkDjOYMOfORviSSLeDTJkdQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.7", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-color-mix-function": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.7.tgz", + "integrity": "sha512-e68Nev4CxZYCLcrfWhHH4u/N1YocOfTmw67/kVX5Rb7rnguqqLyxPjhHWjSBX8o4bmyuukmNf3wrUSU3//kT7g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.7", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-content-alt-text": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.4.tgz", + "integrity": "sha512-YItlZUOuZJCBlRaCf8Aucc1lgN41qYGALMly0qQllrxYJhiyzlI6RxOTMUvtWk+KhS8GphMDsDhKQ7KTPfEMSw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-exponential-functions": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.6.tgz", + "integrity": "sha512-IgJA5DQsQLu/upA3HcdvC6xEMR051ufebBTIXZ5E9/9iiaA7juXWz1ceYj814lnDYP/7eWjZnw0grRJlX4eI6g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.1", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-4.0.0.tgz", + "integrity": "sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-gamut-mapping": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.7.tgz", + "integrity": "sha512-gzFEZPoOkY0HqGdyeBXR3JP218Owr683u7KOZazTK7tQZBE8s2yhg06W1tshOqk7R7SWvw9gkw2TQogKpIW8Xw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.7", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-gradients-interpolation-method": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.7.tgz", + "integrity": "sha512-WgEyBeg6glUeTdS2XT7qeTFBthTJuXlS9GFro/DVomj7W7WMTamAwpoP4oQCq/0Ki2gvfRYFi/uZtmRE14/DFA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.7", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.7.tgz", + "integrity": "sha512-LKYqjO+wGwDCfNIEllessCBWfR4MS/sS1WXO+j00KKyOjm7jDW2L6jzUmqASEiv/kkJO39GcoIOvTTfB3yeBUA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.7", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.0.tgz", + "integrity": "sha512-9QT5TDGgx7wD3EEMN3BSUG6ckb6Eh5gSPT5kZoVtUuAonfPmLDJyPhqR4ntPpMYhUKAMVKAg3I/AgzqHMSeLhA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-initial": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-2.0.1.tgz", + "integrity": "sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.1.tgz", + "integrity": "sha512-JLp3POui4S1auhDR0n8wHd/zTOWmMsmK3nQd3hhL6FhWPaox5W7j1se6zXOG/aP07wV2ww0lxbKYGwbBszOtfQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/postcss-light-dark-function": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.7.tgz", + "integrity": "sha512-ZZ0rwlanYKOHekyIPaU+sVm3BEHCe+Ha0/px+bmHe62n0Uc1lL34vbwrLYn6ote8PHlsqzKeTQdIejQCJ05tfw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-float-and-clear": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-3.0.0.tgz", + "integrity": "sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-overflow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-2.0.0.tgz", + "integrity": "sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-overscroll-behavior": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-2.0.0.tgz", + "integrity": "sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-resize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-resize/-/postcss-logical-resize-3.0.0.tgz", + "integrity": "sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-logical-viewport-units": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.3.tgz", + "integrity": "sha512-OC1IlG/yoGJdi0Y+7duz/kU/beCwO+Gua01sD6GtOtLi7ByQUpcIqs7UE/xuRPay4cHgOMatWdnDdsIDjnWpPw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-media-minmax": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.6.tgz", + "integrity": "sha512-J1+4Fr2W3pLZsfxkFazK+9kr96LhEYqoeBszLmFjb6AjYs+g9oDAw3J5oQignLKk3rC9XHW+ebPTZ9FaW5u5pg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/css-calc": "^2.1.1", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/media-query-list-parser": "^4.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-media-queries-aspect-ratio-number-values": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.4.tgz", + "integrity": "sha512-AnGjVslHMm5xw9keusQYvjVWvuS7KWK+OJagaG0+m9QnIjZsrysD2kJP/tr/UJIyYtMCtu8OkUd+Rajb4DqtIQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/media-query-list-parser": "^4.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-4.0.0.tgz", + "integrity": "sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.0.tgz", + "integrity": "sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.7.tgz", + "integrity": "sha512-I6WFQIbEKG2IO3vhaMGZDkucbCaUSXMxvHNzDdnfsTCF5tc0UlV3Oe2AhamatQoKFjBi75dSEMrgWq3+RegsOQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.7", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.0.0.tgz", + "integrity": "sha512-XQPtROaQjomnvLUSy/bALTR5VCtTVUFwYs1SblvYgLSeTo2a/bMNwUwo2piXw5rTv/FEYiy5yPSXBqg9OKUx7Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-random-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-random-function/-/postcss-random-function-1.0.2.tgz", + "integrity": "sha512-vBCT6JvgdEkvRc91NFoNrLjgGtkLWt47GKT6E2UDn3nd8ZkMBiziQ1Md1OiKoSsgzxsSnGKG3RVdhlbdZEkHjA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.1", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-relative-color-syntax": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.7.tgz", + "integrity": "sha512-apbT31vsJVd18MabfPOnE977xgct5B1I+Jpf+Munw3n6kKb1MMuUmGGH+PT9Hm/fFs6fe61Q/EWnkrb4bNoNQw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.7", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-scope-pseudo-class": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-4.0.1.tgz", + "integrity": "sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-scope-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@csstools/postcss-sign-functions": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.1.tgz", + "integrity": "sha512-MslYkZCeMQDxetNkfmmQYgKCy4c+w9pPDfgOBCJOo/RI1RveEUdZQYtOfrC6cIZB7sD7/PHr2VGOcMXlZawrnA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.1", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.6.tgz", + "integrity": "sha512-/dwlO9w8vfKgiADxpxUbZOWlL5zKoRIsCymYoh1IPuBsXODKanKnfuZRr32DEqT0//3Av1VjfNZU9yhxtEfIeA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.1", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-4.0.1.tgz", + "integrity": "sha512-xPZIikbx6jyzWvhms27uugIc0I4ykH4keRvoa3rxX5K7lEhkbd54rjj/dv60qOCTisoS+3bmwJTeyV1VNBrXaw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/color-helpers": "^5.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.6.tgz", + "integrity": "sha512-c4Y1D2Why/PeccaSouXnTt6WcNHJkoJRidV2VW9s5gJ97cNxnLgQ4Qj8qOqkIR9VmTQKJyNcbF4hy79ZQnWD7A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.1", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-4.0.0.tgz", + "integrity": "sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@csstools/utilities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@csstools/utilities/-/utilities-2.0.0.tgz", + "integrity": "sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.9.0.tgz", + "integrity": "sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA==", + "license": "MIT" + }, + "node_modules/@docsearch/react": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.9.0.tgz", + "integrity": "sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ==", + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-core": "1.17.9", + "@algolia/autocomplete-preset-algolia": "1.17.9", + "@docsearch/css": "3.9.0", + "algoliasearch": "^5.14.2" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 20.0.0", + "react": ">= 16.8.0 < 20.0.0", + "react-dom": ">= 16.8.0 < 20.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "node_modules/@docusaurus/babel": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.7.0.tgz", + "integrity": "sha512-0H5uoJLm14S/oKV3Keihxvh8RV+vrid+6Gv+2qhuzbqHanawga8tYnsdpjEyt36ucJjqlby2/Md2ObWjA02UXQ==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.25.9", + "@babel/preset-env": "^7.25.9", + "@babel/preset-react": "^7.25.9", + "@babel/preset-typescript": "^7.25.9", + "@babel/runtime": "^7.25.9", + "@babel/runtime-corejs3": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@docusaurus/logger": "3.7.0", + "@docusaurus/utils": "3.7.0", + "babel-plugin-dynamic-import-node": "^2.3.3", + "fs-extra": "^11.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/bundler": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.7.0.tgz", + "integrity": "sha512-CUUT9VlSGukrCU5ctZucykvgCISivct+cby28wJwCC/fkQFgAHRp/GKv2tx38ZmXb7nacrKzFTcp++f9txUYGg==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.9", + "@docusaurus/babel": "3.7.0", + "@docusaurus/cssnano-preset": "3.7.0", + "@docusaurus/logger": "3.7.0", + "@docusaurus/types": "3.7.0", + "@docusaurus/utils": "3.7.0", + "babel-loader": "^9.2.1", + "clean-css": "^5.3.2", + "copy-webpack-plugin": "^11.0.0", + "css-loader": "^6.8.1", + "css-minimizer-webpack-plugin": "^5.0.1", + "cssnano": "^6.1.2", + "file-loader": "^6.2.0", + "html-minifier-terser": "^7.2.0", + "mini-css-extract-plugin": "^2.9.1", + "null-loader": "^4.0.1", + "postcss": "^8.4.26", + "postcss-loader": "^7.3.3", + "postcss-preset-env": "^10.1.0", + "react-dev-utils": "^12.0.1", + "terser-webpack-plugin": "^5.3.9", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "webpack": "^5.95.0", + "webpackbar": "^6.0.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/faster": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/faster": { + "optional": true + } + } + }, + "node_modules/@docusaurus/core": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.7.0.tgz", + "integrity": "sha512-b0fUmaL+JbzDIQaamzpAFpTviiaU4cX3Qz8cuo14+HGBCwa0evEK0UYCBFY3n4cLzL8Op1BueeroUD2LYAIHbQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/babel": "3.7.0", + "@docusaurus/bundler": "3.7.0", + "@docusaurus/logger": "3.7.0", + "@docusaurus/mdx-loader": "3.7.0", + "@docusaurus/utils": "3.7.0", + "@docusaurus/utils-common": "3.7.0", + "@docusaurus/utils-validation": "3.7.0", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "cli-table3": "^0.6.3", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "core-js": "^3.31.1", + "del": "^6.1.1", + "detect-port": "^1.5.1", + "escape-html": "^1.0.3", + "eta": "^2.2.0", + "eval": "^0.1.8", + "fs-extra": "^11.1.1", + "html-tags": "^3.3.1", + "html-webpack-plugin": "^5.6.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "p-map": "^4.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@6.0.0", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.4", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.4", + "semver": "^7.5.4", + "serve-handler": "^6.1.6", + "shelljs": "^0.8.5", + "tslib": "^2.6.0", + "update-notifier": "^6.0.2", + "webpack": "^5.95.0", + "webpack-bundle-analyzer": "^4.10.2", + "webpack-dev-server": "^4.15.2", + "webpack-merge": "^6.0.1" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@mdx-js/react": "^3.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/core/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@docusaurus/core/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@docusaurus/core/node_modules/webpack-merge": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", + "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@docusaurus/cssnano-preset": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.7.0.tgz", + "integrity": "sha512-X9GYgruZBSOozg4w4dzv9uOz8oK/EpPVQXkp0MM6Tsgp/nRIU9hJzJ0Pxg1aRa3xCeEQTOimZHcocQFlLwYajQ==", + "license": "MIT", + "dependencies": { + "cssnano-preset-advanced": "^6.1.2", + "postcss": "^8.4.38", + "postcss-sort-media-queries": "^5.2.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/faster": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/faster/-/faster-3.7.0.tgz", + "integrity": "sha512-d+7uyOEs3SBk38i2TL79N6mFaP7J4knc5lPX/W9od+jplXZhnDdl5ZMh2u2Lg7JxGV/l33Bd7h/xwv4mr21zag==", + "license": "MIT", + "dependencies": { + "@docusaurus/types": "3.7.0", + "@rspack/core": "1.2.0-alpha.0", + "@swc/core": "^1.7.39", + "@swc/html": "^1.7.39", + "browserslist": "^4.24.2", + "lightningcss": "^1.27.0", + "swc-loader": "^0.2.6", + "tslib": "^2.6.0", + "webpack": "^5.95.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/types": "*" + } + }, + "node_modules/@docusaurus/logger": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.7.0.tgz", + "integrity": "sha512-z7g62X7bYxCYmeNNuO9jmzxLQG95q9QxINCwpboVcNff3SJiHJbGrarxxOVMVmAh1MsrSfxWkVGv4P41ktnFsA==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/mdx-loader": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.7.0.tgz", + "integrity": "sha512-OFBG6oMjZzc78/U3WNPSHs2W9ZJ723ewAcvVJaqS0VgyeUfmzUV8f1sv+iUHA0DtwiR5T5FjOxj6nzEE8LY6VA==", + "license": "MIT", + "dependencies": { + "@docusaurus/logger": "3.7.0", + "@docusaurus/utils": "3.7.0", + "@docusaurus/utils-validation": "3.7.0", + "@mdx-js/mdx": "^3.0.0", + "@slorber/remark-comment": "^1.0.0", + "escape-html": "^1.0.3", + "estree-util-value-to-estree": "^3.0.1", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "image-size": "^1.0.2", + "mdast-util-mdx": "^3.0.0", + "mdast-util-to-string": "^4.0.0", + "rehype-raw": "^7.0.0", + "remark-directive": "^3.0.0", + "remark-emoji": "^4.0.0", + "remark-frontmatter": "^5.0.0", + "remark-gfm": "^4.0.0", + "stringify-object": "^3.3.0", + "tslib": "^2.6.0", + "unified": "^11.0.3", + "unist-util-visit": "^5.0.0", + "url-loader": "^4.1.1", + "vfile": "^6.0.1", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/mdx-loader/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@docusaurus/mdx-loader/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@docusaurus/module-type-aliases": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.7.0.tgz", + "integrity": "sha512-g7WdPqDNaqA60CmBrr0cORTrsOit77hbsTj7xE2l71YhBn79sxdm7WMK7wfhcaafkbpIh7jv5ef5TOpf1Xv9Lg==", + "license": "MIT", + "dependencies": { + "@docusaurus/types": "3.7.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "npm:@slorber/react-helmet-async@*", + "react-loadable": "npm:@docusaurus/react-loadable@6.0.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@docusaurus/plugin-content-blog": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.7.0.tgz", + "integrity": "sha512-EFLgEz6tGHYWdPU0rK8tSscZwx+AsyuBW/r+tNig2kbccHYGUJmZtYN38GjAa3Fda4NU+6wqUO5kTXQSRBQD3g==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.7.0", + "@docusaurus/logger": "3.7.0", + "@docusaurus/mdx-loader": "3.7.0", + "@docusaurus/theme-common": "3.7.0", + "@docusaurus/types": "3.7.0", + "@docusaurus/utils": "3.7.0", + "@docusaurus/utils-common": "3.7.0", + "@docusaurus/utils-validation": "3.7.0", + "cheerio": "1.0.0-rc.12", + "feed": "^4.2.2", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "reading-time": "^1.5.0", + "srcset": "^4.0.0", + "tslib": "^2.6.0", + "unist-util-visit": "^5.0.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/plugin-content-docs": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.7.0.tgz", + "integrity": "sha512-GXg5V7kC9FZE4FkUZA8oo/NrlRb06UwuICzI6tcbzj0+TVgjq/mpUXXzSgKzMS82YByi4dY2Q808njcBCyy6tQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.7.0", + "@docusaurus/logger": "3.7.0", + "@docusaurus/mdx-loader": "3.7.0", + "@docusaurus/module-type-aliases": "3.7.0", + "@docusaurus/theme-common": "3.7.0", + "@docusaurus/types": "3.7.0", + "@docusaurus/utils": "3.7.0", + "@docusaurus/utils-common": "3.7.0", + "@docusaurus/utils-validation": "3.7.0", + "@types/react-router-config": "^5.0.7", + "combine-promises": "^1.1.0", + "fs-extra": "^11.1.1", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-pages": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.7.0.tgz", + "integrity": "sha512-YJSU3tjIJf032/Aeao8SZjFOrXJbz/FACMveSMjLyMH4itQyZ2XgUIzt4y+1ISvvk5zrW4DABVT2awTCqBkx0Q==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.7.0", + "@docusaurus/mdx-loader": "3.7.0", + "@docusaurus/types": "3.7.0", + "@docusaurus/utils": "3.7.0", + "@docusaurus/utils-validation": "3.7.0", + "fs-extra": "^11.1.1", + "tslib": "^2.6.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/plugin-debug": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.7.0.tgz", + "integrity": "sha512-Qgg+IjG/z4svtbCNyTocjIwvNTNEwgRjSXXSJkKVG0oWoH0eX/HAPiu+TS1HBwRPQV+tTYPWLrUypYFepfujZA==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.7.0", + "@docusaurus/types": "3.7.0", + "@docusaurus/utils": "3.7.0", + "fs-extra": "^11.1.1", + "react-json-view-lite": "^1.2.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/plugin-debug/node_modules/react-json-view-lite": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.5.0.tgz", + "integrity": "sha512-nWqA1E4jKPklL2jvHWs6s+7Na0qNgw9HCP6xehdQJeg6nPBTFZgGwyko9Q0oj+jQWKTTVRS30u0toM5wiuL3iw==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^16.13.1 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.7.0.tgz", + "integrity": "sha512-otIqiRV/jka6Snjf+AqB360XCeSv7lQC+DKYW+EUZf6XbuE8utz5PeUQ8VuOcD8Bk5zvT1MC4JKcd5zPfDuMWA==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.7.0", + "@docusaurus/types": "3.7.0", + "@docusaurus/utils-validation": "3.7.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.7.0.tgz", + "integrity": "sha512-M3vrMct1tY65ModbyeDaMoA+fNJTSPe5qmchhAbtqhDD/iALri0g9LrEpIOwNaoLmm6lO88sfBUADQrSRSGSWA==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.7.0", + "@docusaurus/types": "3.7.0", + "@docusaurus/utils-validation": "3.7.0", + "@types/gtag.js": "^0.0.12", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-tag-manager": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.7.0.tgz", + "integrity": "sha512-X8U78nb8eiMiPNg3jb9zDIVuuo/rE1LjGDGu+5m5CX4UBZzjMy+klOY2fNya6x8ACyE/L3K2erO1ErheP55W/w==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.7.0", + "@docusaurus/types": "3.7.0", + "@docusaurus/utils-validation": "3.7.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/plugin-sitemap": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.7.0.tgz", + "integrity": "sha512-bTRT9YLZ/8I/wYWKMQke18+PF9MV8Qub34Sku6aw/vlZ/U+kuEuRpQ8bTcNOjaTSfYsWkK4tTwDMHK2p5S86cA==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.7.0", + "@docusaurus/logger": "3.7.0", + "@docusaurus/types": "3.7.0", + "@docusaurus/utils": "3.7.0", + "@docusaurus/utils-common": "3.7.0", + "@docusaurus/utils-validation": "3.7.0", + "fs-extra": "^11.1.1", + "sitemap": "^7.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/plugin-svgr": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-svgr/-/plugin-svgr-3.7.0.tgz", + "integrity": "sha512-HByXIZTbc4GV5VAUkZ2DXtXv1Qdlnpk3IpuImwSnEzCDBkUMYcec5282hPjn6skZqB25M1TYCmWS91UbhBGxQg==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.7.0", + "@docusaurus/types": "3.7.0", + "@docusaurus/utils": "3.7.0", + "@docusaurus/utils-validation": "3.7.0", + "@svgr/core": "8.1.0", + "@svgr/webpack": "^8.1.0", + "tslib": "^2.6.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/preset-classic": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.7.0.tgz", + "integrity": "sha512-nPHj8AxDLAaQXs+O6+BwILFuhiWbjfQWrdw2tifOClQoNfuXDjfjogee6zfx6NGHWqshR23LrcN115DmkHC91Q==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.7.0", + "@docusaurus/plugin-content-blog": "3.7.0", + "@docusaurus/plugin-content-docs": "3.7.0", + "@docusaurus/plugin-content-pages": "3.7.0", + "@docusaurus/plugin-debug": "3.7.0", + "@docusaurus/plugin-google-analytics": "3.7.0", + "@docusaurus/plugin-google-gtag": "3.7.0", + "@docusaurus/plugin-google-tag-manager": "3.7.0", + "@docusaurus/plugin-sitemap": "3.7.0", + "@docusaurus/plugin-svgr": "3.7.0", + "@docusaurus/theme-classic": "3.7.0", + "@docusaurus/theme-common": "3.7.0", + "@docusaurus/theme-search-algolia": "3.7.0", + "@docusaurus/types": "3.7.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/theme-classic": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.7.0.tgz", + "integrity": "sha512-MnLxG39WcvLCl4eUzHr0gNcpHQfWoGqzADCly54aqCofQX6UozOS9Th4RK3ARbM9m7zIRv3qbhggI53dQtx/hQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.7.0", + "@docusaurus/logger": "3.7.0", + "@docusaurus/mdx-loader": "3.7.0", + "@docusaurus/module-type-aliases": "3.7.0", + "@docusaurus/plugin-content-blog": "3.7.0", + "@docusaurus/plugin-content-docs": "3.7.0", + "@docusaurus/plugin-content-pages": "3.7.0", + "@docusaurus/theme-common": "3.7.0", + "@docusaurus/theme-translations": "3.7.0", + "@docusaurus/types": "3.7.0", + "@docusaurus/utils": "3.7.0", + "@docusaurus/utils-common": "3.7.0", + "@docusaurus/utils-validation": "3.7.0", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "copy-text-to-clipboard": "^3.2.0", + "infima": "0.2.0-alpha.45", + "lodash": "^4.17.21", + "nprogress": "^0.2.0", + "postcss": "^8.4.26", + "prism-react-renderer": "^2.3.0", + "prismjs": "^1.29.0", + "react-router-dom": "^5.3.4", + "rtlcss": "^4.1.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/theme-common": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.7.0.tgz", + "integrity": "sha512-8eJ5X0y+gWDsURZnBfH0WabdNm8XMCXHv8ENy/3Z/oQKwaB/EHt5lP9VsTDTf36lKEp0V6DjzjFyFIB+CetL0A==", + "license": "MIT", + "dependencies": { + "@docusaurus/mdx-loader": "3.7.0", + "@docusaurus/module-type-aliases": "3.7.0", + "@docusaurus/utils": "3.7.0", + "@docusaurus/utils-common": "3.7.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "clsx": "^2.0.0", + "parse-numeric-range": "^1.3.0", + "prism-react-renderer": "^2.3.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/plugin-content-docs": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/theme-search-algolia": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.7.0.tgz", + "integrity": "sha512-Al/j5OdzwRU1m3falm+sYy9AaB93S1XF1Lgk9Yc6amp80dNxJVplQdQTR4cYdzkGtuQqbzUA8+kaoYYO0RbK6g==", + "license": "MIT", + "dependencies": { + "@docsearch/react": "^3.8.1", + "@docusaurus/core": "3.7.0", + "@docusaurus/logger": "3.7.0", + "@docusaurus/plugin-content-docs": "3.7.0", + "@docusaurus/theme-common": "3.7.0", + "@docusaurus/theme-translations": "3.7.0", + "@docusaurus/utils": "3.7.0", + "@docusaurus/utils-validation": "3.7.0", + "algoliasearch": "^5.17.1", + "algoliasearch-helper": "^3.22.6", + "clsx": "^2.0.0", + "eta": "^2.2.0", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/theme-translations": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.7.0.tgz", + "integrity": "sha512-Ewq3bEraWDmienM6eaNK7fx+/lHMtGDHQyd1O+4+3EsDxxUmrzPkV7Ct3nBWTuE0MsoZr3yNwQVKjllzCMuU3g==", + "license": "MIT", + "dependencies": { + "fs-extra": "^11.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/types": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.7.0.tgz", + "integrity": "sha512-kOmZg5RRqJfH31m+6ZpnwVbkqMJrPOG5t0IOl4i/+3ruXyNfWzZ0lVtVrD0u4ONc/0NOsS9sWYaxxWNkH1LdLQ==", + "license": "MIT", + "dependencies": { + "@mdx-js/mdx": "^3.0.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.9.2", + "react-helmet-async": "npm:@slorber/react-helmet-async@1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.95.0", + "webpack-merge": "^5.9.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/types/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@docusaurus/utils": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.7.0.tgz", + "integrity": "sha512-e7zcB6TPnVzyUaHMJyLSArKa2AG3h9+4CfvKXKKWNx6hRs+p0a+u7HHTJBgo6KW2m+vqDnuIHK4X+bhmoghAFA==", + "license": "MIT", + "dependencies": { + "@docusaurus/logger": "3.7.0", + "@docusaurus/types": "3.7.0", + "@docusaurus/utils-common": "3.7.0", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "github-slugger": "^1.5.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "jiti": "^1.20.0", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "prompts": "^2.4.2", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/utils-common": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.7.0.tgz", + "integrity": "sha512-IZeyIfCfXy0Mevj6bWNg7DG7B8G+S6o6JVpddikZtWyxJguiQ7JYr0SIZ0qWd8pGNuMyVwriWmbWqMnK7Y5PwA==", + "license": "MIT", + "dependencies": { + "@docusaurus/types": "3.7.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/utils-validation": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.7.0.tgz", + "integrity": "sha512-w8eiKk8mRdN+bNfeZqC4nyFoxNyI1/VExMKAzD9tqpJfLLbsa46Wfn5wcKH761g9WkKh36RtFV49iL9lh1DYBA==", + "license": "MIT", + "dependencies": { + "@docusaurus/logger": "3.7.0", + "@docusaurus/utils": "3.7.0", + "@docusaurus/utils-common": "3.7.0", + "fs-extra": "^11.2.0", + "joi": "^17.9.2", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/utils/node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/@emnapi/core": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.3.1.tgz", + "integrity": "sha512-pVGjBIt1Y6gg3EJN8jTcfpP/+uuRksIo055oE/OBkDNcjZqVbfkWCksG1Jp4yZnj3iKWyWX8fdG/j6UDYPbFog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emnapi/wasi-threads": "1.0.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz", + "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz", + "integrity": "sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.13.5", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", + "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.3.3", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/@emotion/babel-plugin/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@emotion/cache": { + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", + "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/css": { + "version": "11.13.5", + "resolved": "https://registry.npmjs.org/@emotion/css/-/css-11.13.5.tgz", + "integrity": "sha512-wQdD0Xhkn3Qy2VNcIzbLP9MR8TafI0MJb7BEAXKp+w4+XqErksWR4OXomuDzPsN4InLdGhVe6EYcn2ZIUCpB8w==", + "license": "MIT", + "dependencies": { + "@emotion/babel-plugin": "^11.13.5", + "@emotion/cache": "^11.13.5", + "@emotion/serialize": "^1.3.3", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.2" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==", + "license": "MIT" + }, + "node_modules/@emotion/memoize": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", + "license": "MIT" + }, + "node_modules/@emotion/react": { + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", + "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/cache": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz", + "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==", + "license": "MIT", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.2", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==", + "license": "MIT" + }, + "node_modules/@emotion/unitless": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==", + "license": "MIT" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz", + "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==", + "license": "MIT" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==", + "license": "MIT" + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@freesewing/aaron": { + "resolved": "designs/aaron", + "link": true + }, + "node_modules/@freesewing/albert": { + "resolved": "designs/albert", + "link": true + }, + "node_modules/@freesewing/bee": { + "resolved": "designs/bee", + "link": true + }, + "node_modules/@freesewing/bella": { + "resolved": "designs/bella", + "link": true + }, + "node_modules/@freesewing/benjamin": { + "resolved": "designs/benjamin", + "link": true + }, + "node_modules/@freesewing/bent": { + "resolved": "designs/bent", + "link": true + }, + "node_modules/@freesewing/bibi": { + "resolved": "designs/bibi", + "link": true + }, + "node_modules/@freesewing/bob": { + "resolved": "designs/bob", + "link": true + }, + "node_modules/@freesewing/bonny": { + "resolved": "designs/bonny", + "link": true + }, + "node_modules/@freesewing/breanna": { + "resolved": "designs/breanna", + "link": true + }, + "node_modules/@freesewing/brian": { + "resolved": "designs/brian", + "link": true + }, + "node_modules/@freesewing/bruce": { + "resolved": "designs/bruce", + "link": true + }, + "node_modules/@freesewing/carlita": { + "resolved": "designs/carlita", + "link": true + }, + "node_modules/@freesewing/carlton": { + "resolved": "designs/carlton", + "link": true + }, + "node_modules/@freesewing/cathrin": { + "resolved": "designs/cathrin", + "link": true + }, + "node_modules/@freesewing/charlie": { + "resolved": "designs/charlie", + "link": true + }, + "node_modules/@freesewing/collection": { + "resolved": "packages/collection", + "link": true + }, + "node_modules/@freesewing/config": { + "resolved": "packages/config", + "link": true + }, + "node_modules/@freesewing/core": { + "resolved": "packages/core", + "link": true + }, + "node_modules/@freesewing/core-plugins": { + "resolved": "plugins/core-plugins", + "link": true + }, + "node_modules/@freesewing/cornelius": { + "resolved": "designs/cornelius", + "link": true + }, + "node_modules/@freesewing/diana": { + "resolved": "designs/diana", + "link": true + }, + "node_modules/@freesewing/examples": { + "resolved": "designs/examples", + "link": true + }, + "node_modules/@freesewing/florence": { + "resolved": "designs/florence", + "link": true + }, + "node_modules/@freesewing/florent": { + "resolved": "designs/florent", + "link": true + }, + "node_modules/@freesewing/gozer": { + "resolved": "designs/gozer", + "link": true + }, + "node_modules/@freesewing/hi": { + "resolved": "designs/hi", + "link": true + }, + "node_modules/@freesewing/holmes": { + "resolved": "designs/holmes", + "link": true + }, + "node_modules/@freesewing/hortensia": { + "resolved": "designs/hortensia", + "link": true + }, + "node_modules/@freesewing/huey": { + "resolved": "designs/huey", + "link": true + }, + "node_modules/@freesewing/hugo": { + "resolved": "designs/hugo", + "link": true + }, + "node_modules/@freesewing/i18n": { + "resolved": "packages/i18n", + "link": true + }, + "node_modules/@freesewing/jaeger": { + "resolved": "designs/jaeger", + "link": true + }, + "node_modules/@freesewing/jane": { + "resolved": "designs/jane", + "link": true + }, + "node_modules/@freesewing/legend": { + "resolved": "designs/legend", + "link": true + }, + "node_modules/@freesewing/lily": { + "resolved": "designs/lily", + "link": true + }, + "node_modules/@freesewing/lucy": { + "resolved": "designs/lucy", + "link": true + }, + "node_modules/@freesewing/lumina": { + "resolved": "designs/lumina", + "link": true + }, + "node_modules/@freesewing/lumira": { + "resolved": "designs/lumira", + "link": true + }, + "node_modules/@freesewing/lunetius": { + "resolved": "designs/lunetius", + "link": true + }, + "node_modules/@freesewing/magde": { + "resolved": "designs/magde", + "link": true + }, + "node_modules/@freesewing/models": { + "resolved": "packages/models", + "link": true + }, + "node_modules/@freesewing/noble": { + "resolved": "designs/noble", + "link": true + }, + "node_modules/@freesewing/octoplushy": { + "resolved": "designs/octoplushy", + "link": true + }, + "node_modules/@freesewing/onyx": { + "resolved": "designs/onyx", + "link": true + }, + "node_modules/@freesewing/opal": { + "resolved": "designs/opal", + "link": true + }, + "node_modules/@freesewing/otis": { + "resolved": "designs/otis", + "link": true + }, + "node_modules/@freesewing/paco": { + "resolved": "designs/paco", + "link": true + }, + "node_modules/@freesewing/penelope": { + "resolved": "designs/penelope", + "link": true + }, + "node_modules/@freesewing/plugin-annotations": { + "resolved": "plugins/plugin-annotations", + "link": true + }, + "node_modules/@freesewing/plugin-bin-pack": { + "resolved": "plugins/plugin-bin-pack", + "link": true + }, + "node_modules/@freesewing/plugin-bust": { + "resolved": "plugins/plugin-bust", + "link": true + }, + "node_modules/@freesewing/plugin-flip": { + "resolved": "plugins/plugin-flip", + "link": true + }, + "node_modules/@freesewing/plugin-gore": { + "resolved": "plugins/plugin-gore", + "link": true + }, + "node_modules/@freesewing/plugin-i18n": { + "resolved": "plugins/plugin-i18n", + "link": true + }, + "node_modules/@freesewing/plugin-measurements": { + "resolved": "plugins/plugin-measurements", + "link": true + }, + "node_modules/@freesewing/plugin-mirror": { + "resolved": "plugins/plugin-mirror", + "link": true + }, + "node_modules/@freesewing/plugin-ringsector": { + "resolved": "plugins/plugin-ringsector", + "link": true + }, + "node_modules/@freesewing/plugin-round": { + "resolved": "plugins/plugin-round", + "link": true + }, + "node_modules/@freesewing/plugin-sprinkle": { + "resolved": "plugins/plugin-sprinkle", + "link": true + }, + "node_modules/@freesewing/plugin-svgattr": { + "resolved": "plugins/plugin-svgattr", + "link": true + }, + "node_modules/@freesewing/plugin-theme": { + "resolved": "plugins/plugin-theme", + "link": true + }, + "node_modules/@freesewing/plugin-timing": { + "resolved": "plugins/plugin-timing", + "link": true + }, + "node_modules/@freesewing/plugin-versionfree-svg": { + "resolved": "plugins/plugin-versionfree-svg", + "link": true + }, + "node_modules/@freesewing/plugintest": { + "resolved": "designs/plugintest", + "link": true + }, + "node_modules/@freesewing/prettier-config": { + "resolved": "packages/prettier-config", + "link": true + }, + "node_modules/@freesewing/react": { + "resolved": "packages/react", + "link": true + }, + "node_modules/@freesewing/rendertest": { + "resolved": "designs/rendertest", + "link": true + }, + "node_modules/@freesewing/sandy": { + "resolved": "designs/sandy", + "link": true + }, + "node_modules/@freesewing/shelly": { + "resolved": "designs/shelly", + "link": true + }, + "node_modules/@freesewing/shin": { + "resolved": "designs/shin", + "link": true + }, + "node_modules/@freesewing/simon": { + "resolved": "designs/simon", + "link": true + }, + "node_modules/@freesewing/simone": { + "resolved": "designs/simone", + "link": true + }, + "node_modules/@freesewing/skully": { + "resolved": "designs/skully", + "link": true + }, + "node_modules/@freesewing/snapseries": { + "resolved": "packages/snapseries", + "link": true + }, + "node_modules/@freesewing/studio": { + "resolved": "packages/studio", + "link": true + }, + "node_modules/@freesewing/sven": { + "resolved": "designs/sven", + "link": true + }, + "node_modules/@freesewing/tamiko": { + "resolved": "designs/tamiko", + "link": true + }, + "node_modules/@freesewing/teagan": { + "resolved": "designs/teagan", + "link": true + }, + "node_modules/@freesewing/tiberius": { + "resolved": "designs/tiberius", + "link": true + }, + "node_modules/@freesewing/titan": { + "resolved": "designs/titan", + "link": true + }, + "node_modules/@freesewing/trayvon": { + "resolved": "designs/trayvon", + "link": true + }, + "node_modules/@freesewing/tristan": { + "resolved": "designs/tristan", + "link": true + }, + "node_modules/@freesewing/uma": { + "resolved": "designs/uma", + "link": true + }, + "node_modules/@freesewing/umbra": { + "resolved": "designs/umbra", + "link": true + }, + "node_modules/@freesewing/utils": { + "resolved": "packages/utils", + "link": true + }, + "node_modules/@freesewing/wahid": { + "resolved": "designs/wahid", + "link": true + }, + "node_modules/@freesewing/walburga": { + "resolved": "designs/walburga", + "link": true + }, + "node_modules/@freesewing/waralee": { + "resolved": "designs/waralee", + "link": true + }, + "node_modules/@freesewing/yuri": { + "resolved": "designs/yuri", + "link": true + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "license": "BSD-3-Clause" + }, + "node_modules/@hutson/parse-repository-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", + "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", + "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", + "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", + "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", + "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", + "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", + "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", + "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", + "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", + "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", + "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.5" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", + "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", + "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", + "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", + "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", + "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", + "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.2.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", + "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", + "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/string-locale-compare": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz", + "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@koa/cors": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@koa/cors/-/cors-5.0.0.tgz", + "integrity": "sha512-x/iUDjcS90W69PryLDIMgFyV21YLTnG9zOpPXS7Bkt2b8AsY3zZsIpOLBkYr9fBcF3HbkKaER5hOBZLfpLgYNw==", + "license": "MIT", + "dependencies": { + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@koa/router": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@koa/router/-/router-13.1.0.tgz", + "integrity": "sha512-mNVu1nvkpSd8Q8gMebGbCkDWJ51ODetrFvLKYusej+V0ByD4btqHYnPIzTBLXnQMVUlm/oxVwqmWBY3zQfZilw==", + "license": "MIT", + "dependencies": { + "http-errors": "^2.0.0", + "koa-compose": "^4.1.0", + "path-to-regexp": "^6.3.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@koa/router/node_modules/path-to-regexp": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "license": "MIT" + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "license": "MIT" + }, + "node_modules/@lerna/create": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@lerna/create/-/create-8.2.0.tgz", + "integrity": "sha512-kyrAc709xhf79Ci2qM+neMfe3IuT89kJyqdMe+YK16kkTNlXedmmQOSs2ARdlEqVVGCWu7M75Dt2VoCBZPnZ8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@npmcli/arborist": "7.5.4", + "@npmcli/package-json": "5.2.0", + "@npmcli/run-script": "8.1.0", + "@nx/devkit": ">=17.1.2 < 21", + "@octokit/plugin-enterprise-rest": "6.0.1", + "@octokit/rest": "19.0.11", + "aproba": "2.0.0", + "byte-size": "8.1.1", + "chalk": "4.1.0", + "clone-deep": "4.0.1", + "cmd-shim": "6.0.3", + "color-support": "1.1.3", + "columnify": "1.6.0", + "console-control-strings": "^1.1.0", + "conventional-changelog-core": "5.0.1", + "conventional-recommended-bump": "7.0.1", + "cosmiconfig": "9.0.0", + "dedent": "1.5.3", + "execa": "5.0.0", + "fs-extra": "^11.2.0", + "get-stream": "6.0.0", + "git-url-parse": "14.0.0", + "glob-parent": "6.0.2", + "globby": "11.1.0", + "graceful-fs": "4.2.11", + "has-unicode": "2.0.1", + "ini": "^1.3.8", + "init-package-json": "6.0.3", + "inquirer": "^8.2.4", + "is-ci": "3.0.1", + "is-stream": "2.0.0", + "js-yaml": "4.1.0", + "libnpmpublish": "9.0.9", + "load-json-file": "6.2.0", + "lodash": "^4.17.21", + "make-dir": "4.0.0", + "minimatch": "3.0.5", + "multimatch": "5.0.0", + "node-fetch": "2.6.7", + "npm-package-arg": "11.0.2", + "npm-packlist": "8.0.2", + "npm-registry-fetch": "^17.1.0", + "nx": ">=17.1.2 < 21", + "p-map": "4.0.0", + "p-map-series": "2.1.0", + "p-queue": "6.6.2", + "p-reduce": "^2.1.0", + "pacote": "^18.0.6", + "pify": "5.0.0", + "read-cmd-shim": "4.0.0", + "resolve-from": "5.0.0", + "rimraf": "^4.4.1", + "semver": "^7.3.4", + "set-blocking": "^2.0.0", + "signal-exit": "3.0.7", + "slash": "^3.0.0", + "ssri": "^10.0.6", + "string-width": "^4.2.3", + "strong-log-transformer": "2.1.0", + "tar": "6.2.1", + "temp-dir": "1.0.0", + "upath": "2.0.1", + "uuid": "^10.0.0", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "5.0.1", + "wide-align": "1.1.5", + "write-file-atomic": "5.0.1", + "write-pkg": "4.0.0", + "yargs": "17.7.2", + "yargs-parser": "21.1.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@lerna/create/node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/@lerna/create/node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/create/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@lerna/create/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@lerna/create/node_modules/dedent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/@lerna/create/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@lerna/create/node_modules/execa": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", + "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@lerna/create/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@lerna/create/node_modules/get-stream": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", + "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@lerna/create/node_modules/glob": { + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", + "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@lerna/create/node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@lerna/create/node_modules/glob/node_modules/minimatch": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", + "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@lerna/create/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/@lerna/create/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/@lerna/create/node_modules/inquirer": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@lerna/create/node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@lerna/create/node_modules/is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@lerna/create/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@lerna/create/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@lerna/create/node_modules/minipass": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/@lerna/create/node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@lerna/create/node_modules/npm-package-arg": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.2.tgz", + "integrity": "sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^7.0.0", + "proc-log": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@lerna/create/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@lerna/create/node_modules/rimraf": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz", + "integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^9.2.0" + }, + "bin": { + "rimraf": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@lerna/create/node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@lerna/create/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/create/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@lerna/create/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@lerna/create/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@lerna/create/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@lezer/common": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.3.tgz", + "integrity": "sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==", + "license": "MIT" + }, + "node_modules/@lezer/highlight": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.1.tgz", + "integrity": "sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==", + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@lezer/lr": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.2.tgz", + "integrity": "sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==", + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@lezer/yaml": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@lezer/yaml/-/yaml-1.0.3.tgz", + "integrity": "sha512-GuBLekbw9jDBDhGur82nuwkxKQ+a3W5H0GfaAthDXcAu+XdpS43VlnxA9E9hllkpSP5ellRDKjLLj7Lu9Wr6xA==", + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.4.0" + } + }, + "node_modules/@marijn/find-cluster-break": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@marijn/find-cluster-break/-/find-cluster-break-1.0.2.tgz", + "integrity": "sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==", + "license": "MIT" + }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.0.tgz", + "integrity": "sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/mdx/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@mdx-js/mdx/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@mdx-js/mdx/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/react": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.0.tgz", + "integrity": "sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==", + "license": "MIT", + "dependencies": { + "@types/mdx": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, + "node_modules/@module-federation/error-codes": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-0.8.4.tgz", + "integrity": "sha512-55LYmrDdKb4jt+qr8qE8U3al62ZANp3FhfVaNPOaAmdTh0jHdD8M3yf5HKFlr5xVkVO4eV/F/J2NCfpbh+pEXQ==", + "license": "MIT" + }, + "node_modules/@module-federation/runtime": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-0.8.4.tgz", + "integrity": "sha512-yZeZ7z2Rx4gv/0E97oLTF3V6N25vglmwXGgoeju/W2YjsFvWzVtCDI7zRRb0mJhU6+jmSM8jP1DeQGbea/AiZQ==", + "license": "MIT", + "dependencies": { + "@module-federation/error-codes": "0.8.4", + "@module-federation/sdk": "0.8.4" + } + }, + "node_modules/@module-federation/runtime-tools": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-0.8.4.tgz", + "integrity": "sha512-fjVOsItJ1u5YY6E9FnS56UDwZgqEQUrWFnouRiPtK123LUuqUI9FH4redZoKWlE1PB0ir1Z3tnqy8eFYzPO38Q==", + "license": "MIT", + "dependencies": { + "@module-federation/runtime": "0.8.4", + "@module-federation/webpack-bundler-runtime": "0.8.4" + } + }, + "node_modules/@module-federation/sdk": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.8.4.tgz", + "integrity": "sha512-waABomIjg/5m1rPDBWYG4KUhS5r7OUUY7S+avpaVIY/tkPWB3ibRDKy2dNLLAMaLKq0u+B1qIdEp4NIWkqhqpg==", + "license": "MIT", + "dependencies": { + "isomorphic-rslog": "0.0.6" + } + }, + "node_modules/@module-federation/webpack-bundler-runtime": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.8.4.tgz", + "integrity": "sha512-HggROJhvHPUX7uqBD/XlajGygMNM1DG0+4OAkk8MBQe4a18QzrRNzZt6XQbRTSG4OaEoyRWhQHvYD3Yps405tQ==", + "license": "MIT", + "dependencies": { + "@module-federation/runtime": "0.8.4", + "@module-federation/sdk": "0.8.4" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz", + "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@emnapi/core": "^1.1.0", + "@emnapi/runtime": "^1.1.0", + "@tybys/wasm-util": "^0.9.0" + } + }, + "node_modules/@next/eslint-plugin-next": { + "version": "14.2.24", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.24.tgz", + "integrity": "sha512-FDL3qs+5DML0AJz56DCVr+KnFYivxeAX73En8QbPw9GjJZ6zbfvqDy+HrarHFzbsIASn7y8y5ySJ/lllSruNVQ==", + "license": "MIT", + "dependencies": { + "glob": "10.3.10" + } + }, + "node_modules/@next/eslint-plugin-next/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@next/eslint-plugin-next/node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "license": "MIT", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@npmcli/agent": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.2.tgz", + "integrity": "sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==", + "dev": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/arborist": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-7.5.4.tgz", + "integrity": "sha512-nWtIc6QwwoUORCRNzKx4ypHqCk3drI+5aeYdMTQQiRCcn4lOOgfQh7WyZobGYTxXPSq1VwV53lkpN/BRlRk08g==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/fs": "^3.1.1", + "@npmcli/installed-package-contents": "^2.1.0", + "@npmcli/map-workspaces": "^3.0.2", + "@npmcli/metavuln-calculator": "^7.1.1", + "@npmcli/name-from-folder": "^2.0.0", + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.1.0", + "@npmcli/query": "^3.1.0", + "@npmcli/redact": "^2.0.0", + "@npmcli/run-script": "^8.1.0", + "bin-links": "^4.0.4", + "cacache": "^18.0.3", + "common-ancestor-path": "^1.0.1", + "hosted-git-info": "^7.0.2", + "json-parse-even-better-errors": "^3.0.2", + "json-stringify-nice": "^1.1.4", + "lru-cache": "^10.2.2", + "minimatch": "^9.0.4", + "nopt": "^7.2.1", + "npm-install-checks": "^6.2.0", + "npm-package-arg": "^11.0.2", + "npm-pick-manifest": "^9.0.1", + "npm-registry-fetch": "^17.0.1", + "pacote": "^18.0.6", + "parse-conflict-json": "^3.0.0", + "proc-log": "^4.2.0", + "proggy": "^2.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^3.0.1", + "read-package-json-fast": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^10.0.6", + "treeverse": "^3.0.0", + "walk-up-path": "^3.0.1" + }, + "bin": { + "arborist": "bin/index.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/arborist/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/arborist/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/arborist/node_modules/npm-package-arg": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz", + "integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^7.0.0", + "proc-log": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/arborist/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/fs": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", + "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", + "dev": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/fs/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/git": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.8.tgz", + "integrity": "sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^7.0.0", + "ini": "^4.1.3", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^9.0.0", + "proc-log": "^4.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git/node_modules/ini": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/git/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz", + "integrity": "sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/map-workspaces": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-3.0.6.tgz", + "integrity": "sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/name-from-folder": "^2.0.0", + "glob": "^10.2.2", + "minimatch": "^9.0.0", + "read-package-json-fast": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/metavuln-calculator": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-7.1.1.tgz", + "integrity": "sha512-Nkxf96V0lAx3HCpVda7Vw4P23RILgdi/5K1fmj2tZkWIYLpXAN8k2UVVOsW16TsS5F8Ws2I7Cm+PU1/rsVF47g==", + "dev": true, + "license": "ISC", + "dependencies": { + "cacache": "^18.0.0", + "json-parse-even-better-errors": "^3.0.0", + "pacote": "^18.0.0", + "proc-log": "^4.1.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/metavuln-calculator/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/name-from-folder": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz", + "integrity": "sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/package-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.2.0.tgz", + "integrity": "sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^5.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^7.0.0", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "proc-log": "^4.0.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.2.tgz", + "integrity": "sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/query": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-3.1.0.tgz", + "integrity": "sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/redact": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-2.0.1.tgz", + "integrity": "sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-8.1.0.tgz", + "integrity": "sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "node-gyp": "^10.0.0", + "proc-log": "^4.0.0", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@nx/devkit": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-20.2.1.tgz", + "integrity": "sha512-boNTu7Z7oHkYjrYg5Wzg+cQfbEJ2nntRj1eI99w8mp4qz2B4PEEjJOB0BZafR54ZcKpGEbyp/QBB945GsjTUbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "minimatch": "9.0.3", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 19 <= 21" + } + }, + "node_modules/@nx/devkit/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/eslint": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@nx/eslint/-/eslint-20.2.1.tgz", + "integrity": "sha512-HY3Sy7AOZR9Z5NZ0kv/aagma/7DviYg+dCH4mHBja5nJmzX0XtAwxcTIzJuo2DBNMw/4aDfGtGgwhXyRhnmXsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "20.2.1", + "@nx/js": "20.2.1", + "semver": "^7.5.3", + "tslib": "^2.3.0", + "typescript": "~5.6.2" + }, + "peerDependencies": { + "@zkochan/js-yaml": "0.0.7", + "eslint": "^8.0.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "@zkochan/js-yaml": { + "optional": true + } + } + }, + "node_modules/@nx/eslint/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/eslint/node_modules/typescript": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/@nx/js": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@nx/js/-/js-20.2.1.tgz", + "integrity": "sha512-2Ecsk7VRODXys6IgjVVhq+8zzajJzfes5SOdc82DApuNEb/cqj7gTKZlIFvqjup7t3z5yyXFd2Vi9js/JfCcZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/plugin-proposal-decorators": "^7.22.7", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-runtime": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@nx/devkit": "20.2.1", + "@nx/workspace": "20.2.1", + "@zkochan/js-yaml": "0.0.7", + "babel-plugin-const-enum": "^1.0.1", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-typescript-metadata": "^0.3.1", + "chalk": "^4.1.0", + "columnify": "^1.6.0", + "detect-port": "^1.5.1", + "enquirer": "~2.3.6", + "fast-glob": "3.2.7", + "ignore": "^5.0.4", + "js-tokens": "^4.0.0", + "jsonc-parser": "3.2.0", + "minimatch": "9.0.3", + "npm-package-arg": "11.0.1", + "npm-run-path": "^4.0.1", + "ora": "5.3.0", + "semver": "^7.5.3", + "source-map-support": "0.5.19", + "ts-node": "10.9.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "verdaccio": "^5.0.4" + }, + "peerDependenciesMeta": { + "verdaccio": { + "optional": true + } + } + }, + "node_modules/@nx/js/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/nx-darwin-arm64": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.2.1.tgz", + "integrity": "sha512-nJcyPZfH6Vq4cG6gRnQ8PcnVOLePeT3exzLnQu0I4I2EtCTPyCSRA3gxoGzZ3qZFMQTsCbwv4HYfdx42AXOTAQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-darwin-x64": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.2.1.tgz", + "integrity": "sha512-SEiN8fjEs010ME4PRP8O9f8qG8AMZBGz8hOkF6ZrdlC+iEi4iyAGpgWFq8PKBlpVW4G5gxR91Y7eVaTKAsgH5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-freebsd-x64": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.2.1.tgz", + "integrity": "sha512-/yEKS9q17EG2Ci130McvpZM5YUghH1ql9UXWbVmitufn+RQD90hoblkG/B+cxJeZonrdKAjdpLQ+hfVz+FBd/g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.2.1.tgz", + "integrity": "sha512-DPtRjTCJ5++stTGtjqYftCb2c0CNed2s2EZZLQuDP+tikTsLm0d3S3ZaU5eHhqZW35tQuMOVweOfC1nJ3/DTSA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm64-gnu": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.2.1.tgz", + "integrity": "sha512-ggGwHOEP6UjXeqv6DtRxizeBnX/zRZi8BRJbEJBwAt1cAUnLlklk8d+Hmjs+j/FlFXBV9f+ylpAqoYkplFR8jg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm64-musl": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.2.1.tgz", + "integrity": "sha512-HZBGxsBJUFbWVTiyJxqt0tS8tlvp+Tp0D533mGKW75cU0rv9dnmbtTwkkkx+LXqerjSRvNS3Qtj0Uh2w92Vtig==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-x64-gnu": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.2.1.tgz", + "integrity": "sha512-pTytPwGiPRakqz2PKiWTSRNm9taE1U9n0+kRAAFzbOtzeW+eIoebe5xY5QMoZ+XtIZ6pJM2BUOyMD+/TX57r8Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-x64-musl": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.2.1.tgz", + "integrity": "sha512-p3egqe5zmwiDl6xSwHi2K9UZWiKbZ/s/j4qV+pZttzMyNPfhohTeP+VwQqjTeQ1hPBl2YhwmmktEPsIPYJG7YA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-win32-arm64-msvc": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.2.1.tgz", + "integrity": "sha512-Wujist6k08pjgWWQ1pjXrCArmMgnyIXNVmDP14cWo1KHecBuxNWa9i62PrxQ0K8MLYMcAzLHJxN9t54GzBbd+g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-win32-x64-msvc": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.2.1.tgz", + "integrity": "sha512-tsEYfNV2+CWSQmbh9TM8cX5wk6F2QAH0tfvt4topyOOaR40eszW8qc/eDM/kkJ5nj87BbNEqPBQAYFE0AP1OMA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/workspace": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@nx/workspace/-/workspace-20.2.1.tgz", + "integrity": "sha512-YJnOyqJDzuTHOWQ/eFCfBwGg0x3ByxBYk4PPF48tUN21TLoXbq39GP+/I3tsRNm9rvhcOTRoGybWu06t21ty4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nx/devkit": "20.2.1", + "chalk": "^4.1.0", + "enquirer": "~2.3.6", + "nx": "20.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + } + }, + "node_modules/@octokit/auth-token": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz", + "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.4.tgz", + "integrity": "sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/endpoint": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz", + "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/graphql": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz", + "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "18.1.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.1.1.tgz", + "integrity": "sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@octokit/plugin-enterprise-rest": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz", + "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.1.2.tgz", + "integrity": "sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/tsconfig": "^1.0.2", + "@octokit/types": "^9.2.3" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": ">=4" + } + }, + "node_modules/@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.2.3.tgz", + "integrity": "sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^10.0.0" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-10.0.0.tgz", + "integrity": "sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^18.0.0" + } + }, + "node_modules/@octokit/request": { + "version": "6.2.8", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.8.tgz", + "integrity": "sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/request-error": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", + "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/rest": { + "version": "19.0.11", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.11.tgz", + "integrity": "sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/core": "^4.2.1", + "@octokit/plugin-paginate-rest": "^6.1.2", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^7.1.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/tsconfig": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@octokit/tsconfig/-/tsconfig-1.0.2.tgz", + "integrity": "sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@octokit/types": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", + "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^18.0.0" + } + }, + "node_modules/@otplib/core": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/core/-/core-12.0.1.tgz", + "integrity": "sha512-4sGntwbA/AC+SbPhbsziRiD+jNDdIzsZ3JUyfZwjtKyc/wufl1pnSIaG4Uqx8ymPagujub0o92kgBnB89cuAMA==", + "license": "MIT" + }, + "node_modules/@otplib/plugin-crypto": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/plugin-crypto/-/plugin-crypto-12.0.1.tgz", + "integrity": "sha512-qPuhN3QrT7ZZLcLCyKOSNhuijUi9G5guMRVrxq63r9YNOxxQjPm59gVxLM+7xGnHnM6cimY57tuKsjK7y9LM1g==", + "license": "MIT", + "dependencies": { + "@otplib/core": "^12.0.1" + } + }, + "node_modules/@otplib/plugin-thirty-two": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/plugin-thirty-two/-/plugin-thirty-two-12.0.1.tgz", + "integrity": "sha512-MtT+uqRso909UkbrrYpJ6XFjj9D+x2Py7KjTO9JDPhL0bJUYVu5kFP4TFZW4NFAywrAtFRxOVY261u0qwb93gA==", + "license": "MIT", + "dependencies": { + "@otplib/core": "^12.0.1", + "thirty-two": "^1.0.2" + } + }, + "node_modules/@otplib/preset-default": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/preset-default/-/preset-default-12.0.1.tgz", + "integrity": "sha512-xf1v9oOJRyXfluBhMdpOkr+bsE+Irt+0D5uHtvg6x1eosfmHCsCC6ej/m7FXiWqdo0+ZUI6xSKDhJwc8yfiOPQ==", + "license": "MIT", + "dependencies": { + "@otplib/core": "^12.0.1", + "@otplib/plugin-crypto": "^12.0.1", + "@otplib/plugin-thirty-two": "^12.0.1" + } + }, + "node_modules/@otplib/preset-v11": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@otplib/preset-v11/-/preset-v11-12.0.1.tgz", + "integrity": "sha512-9hSetMI7ECqbFiKICrNa4w70deTUfArtwXykPUvSHWOdzOlfa9ajglu7mNCntlvxycTiOAXkQGwjQCzzDEMRMg==", + "license": "MIT", + "dependencies": { + "@otplib/core": "^12.0.1", + "@otplib/plugin-crypto": "^12.0.1", + "@otplib/plugin-thirty-two": "^12.0.1" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "license": "MIT", + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "license": "MIT", + "dependencies": { + "graceful-fs": "4.2.10" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "license": "ISC" + }, + "node_modules/@pnpm/npm-conf": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz", + "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==", + "license": "MIT", + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.28", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz", + "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==", + "license": "MIT" + }, + "node_modules/@prisma/client": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.15.0.tgz", + "integrity": "sha512-wPTeTjbd2Q0abOeffN7zCDCbkp9C9cF+e9HPiI64lmpehyq2TepgXE+sY7FXr7Rhbb21prLMnhXX27/E11V09w==", + "hasInstallScript": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.13" + }, + "peerDependencies": { + "prisma": "*" + }, + "peerDependenciesMeta": { + "prisma": { + "optional": true + } + } + }, + "node_modules/@prisma/debug": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-5.15.0.tgz", + "integrity": "sha512-QpEAOjieLPc/4sMny/WrWqtpIAmBYsgqwWlWwIctqZO0AbhQ9QcT6x2Ut3ojbDo/pFRCCA1Z1+xm2MUy7fAkZA==", + "devOptional": true, + "license": "Apache-2.0" + }, + "node_modules/@prisma/engines": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.15.0.tgz", + "integrity": "sha512-hXL5Sn9hh/ZpRKWiyPA5GbvF3laqBHKt6Vo70hYqqOhh5e0ZXDzHcdmxNvOefEFeqxra2DMz2hNbFoPvqrVe1w==", + "devOptional": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "5.15.0", + "@prisma/engines-version": "5.15.0-29.12e25d8d06f6ea5a0252864dd9a03b1bb51f3022", + "@prisma/fetch-engine": "5.15.0", + "@prisma/get-platform": "5.15.0" + } + }, + "node_modules/@prisma/engines-version": { + "version": "5.15.0-29.12e25d8d06f6ea5a0252864dd9a03b1bb51f3022", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.15.0-29.12e25d8d06f6ea5a0252864dd9a03b1bb51f3022.tgz", + "integrity": "sha512-3BEgZ41Qb4oWHz9kZNofToRvNeS4LZYaT9pienR1gWkjhky6t6K1NyeWNBkqSj2llgraUNbgMOCQPY4f7Qp5wA==", + "devOptional": true, + "license": "Apache-2.0" + }, + "node_modules/@prisma/fetch-engine": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-5.15.0.tgz", + "integrity": "sha512-z6AY5yyXxc20Klj7wwnfGP0iIUkVKzybqapT02zLYR/nf9ynaeN8bq73WRmi1TkLYn+DJ5Qy+JGu7hBf1pE78A==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "5.15.0", + "@prisma/engines-version": "5.15.0-29.12e25d8d06f6ea5a0252864dd9a03b1bb51f3022", + "@prisma/get-platform": "5.15.0" + } + }, + "node_modules/@prisma/get-platform": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-5.15.0.tgz", + "integrity": "sha512-1GULDkW4+/VQb73vihxCBSc4Chc2x88MA+O40tcZFjmBzG4/fF44PaXFxUqKSFltxU9L9GIMLhh0Gfkk/pUbtg==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "5.15.0" + } + }, + "node_modules/@rspack/binding": { + "version": "1.2.0-alpha.0", + "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.2.0-alpha.0.tgz", + "integrity": "sha512-rtmDScjtGUxv1zA1m3jXecuX2LsgNp4aWaAjOowHasoO1YqfHK0fMyprCiPowTjoHtpZ7Xt/tnMhii0GlGIITQ==", + "license": "MIT", + "optionalDependencies": { + "@rspack/binding-darwin-arm64": "1.2.0-alpha.0", + "@rspack/binding-darwin-x64": "1.2.0-alpha.0", + "@rspack/binding-linux-arm64-gnu": "1.2.0-alpha.0", + "@rspack/binding-linux-arm64-musl": "1.2.0-alpha.0", + "@rspack/binding-linux-x64-gnu": "1.2.0-alpha.0", + "@rspack/binding-linux-x64-musl": "1.2.0-alpha.0", + "@rspack/binding-win32-arm64-msvc": "1.2.0-alpha.0", + "@rspack/binding-win32-ia32-msvc": "1.2.0-alpha.0", + "@rspack/binding-win32-x64-msvc": "1.2.0-alpha.0" + } + }, + "node_modules/@rspack/binding-darwin-arm64": { + "version": "1.2.0-alpha.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.2.0-alpha.0.tgz", + "integrity": "sha512-EPprIe6BrkJ9XuWL5HBXJFaH4vvt5C2kBTvyu+t5E3wacyH9A0gIDaMOEmH30Kt3zl4B07OCBC1nCiJ1sTtimw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rspack/binding-darwin-x64": { + "version": "1.2.0-alpha.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.2.0-alpha.0.tgz", + "integrity": "sha512-ACwdgWg0V9j0o3gs1wvhqRJ4xui82L+Fii9Fa74az7P974iWO0ZHw4QIUaO5r434+v9OWMqpyBRN1M7cBrx3GA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rspack/binding-linux-arm64-gnu": { + "version": "1.2.0-alpha.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.0-alpha.0.tgz", + "integrity": "sha512-Ex9SviDikz9E36R4I5si/626FsYOJ35l1Lb+DCRUijjjsvoq4k8Shi8csyBfubR+JZ1M0uOXjJftu1Gm5z8Q0Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-arm64-musl": { + "version": "1.2.0-alpha.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.0-alpha.0.tgz", + "integrity": "sha512-U320xZmTcTwQ0BR8yIzE1L4olMCqzYkT3VFjXPR6iok/Mj0xjfk/SiKhLoZml473qQrHSGaFJ321cp02zgTFJg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-x64-gnu": { + "version": "1.2.0-alpha.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.0-alpha.0.tgz", + "integrity": "sha512-GNur7VXJ29NtJhY8PYgv3Fv1Zxbx0XZhDUj/+7Wp40CAXRFsLgXScZIRh2U30TECYaihboZ7BD+xugv8MQPDoA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-x64-musl": { + "version": "1.2.0-alpha.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.0-alpha.0.tgz", + "integrity": "sha512-0IdswzpG9+sgxvGu7KTwSeqfV0hvciaHMoZvGklfZa2txpcUqAg4ASp7uxrNaUo+G2a1fTUMOtP9351Cnl8DBg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-win32-arm64-msvc": { + "version": "1.2.0-alpha.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.0-alpha.0.tgz", + "integrity": "sha512-FcFgoWGjSrCfJwDZY5bDA2aO02l5BP7qdyW6ehjwBiMxNZyeSbGvKz3jXl5TtTHR1IgdLzi9kEJkTPYLLMiE1A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rspack/binding-win32-ia32-msvc": { + "version": "1.2.0-alpha.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.2.0-alpha.0.tgz", + "integrity": "sha512-cZYFJw6DKCaPPz9VDJPndZ9KSp+/eedgt11Mv8OTpq+MJTUjB2HjtcjqJh8xxVcp3IuwvSMndTkC69WWt/4feA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rspack/binding-win32-x64-msvc": { + "version": "1.2.0-alpha.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.0-alpha.0.tgz", + "integrity": "sha512-gfOqb/rq5716NV+Vbk5MteBhV4VhJeSoh2+dRQjdy4EN1wPZ+Uebs9ORVrT9uRjY3JrPn/5PkAHJXtgaOA9Uyg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rspack/core": { + "version": "1.2.0-alpha.0", + "resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.2.0-alpha.0.tgz", + "integrity": "sha512-YiD0vFDj+PfHs3ZqJwPNhTYyVTb4xR6FpOI5WJ4jJHV4lgdErS+RChTCPhf1xeqxfuTSSnFA7UeqosLhBuNSqQ==", + "license": "MIT", + "dependencies": { + "@module-federation/runtime-tools": "0.8.4", + "@rspack/binding": "1.2.0-alpha.0", + "@rspack/lite-tapable": "1.0.1", + "caniuse-lite": "^1.0.30001616" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@swc/helpers": ">=0.5.1" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@rspack/lite-tapable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rspack/lite-tapable/-/lite-tapable-1.0.1.tgz", + "integrity": "sha512-VynGOEsVw2s8TAlLf/uESfrgfrq2+rcXB1muPJYBWbsm1Oa6r5qVQhjA5ggM6z/coYPrsVMgovl3Ff7Q7OCp1w==", + "license": "MIT", + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "license": "MIT" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.5.tgz", + "integrity": "sha512-kkKUDVlII2DQiKy7UstOR1ErJP8kUKAQ4oa+SQtM0K+lPdmmjj0YnnxBgtTVYH7mUKtbsxeFC9y0AmK7Yb78/A==", + "license": "MIT" + }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "license": "MIT" + }, + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "license": "BSD-3-Clause" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@sigstore/bundle": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.3.2.tgz", + "integrity": "sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.2" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-1.1.0.tgz", + "integrity": "sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.3.tgz", + "integrity": "sha512-RpacQhBlwpBWd7KEJsRKcBQalbV28fvkxwTOJIqhIuDysMMaJW47V4OqW30iJB9uRpqOSxxEAQFdr8tTattReQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.3.2.tgz", + "integrity": "sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.2", + "make-fetch-happen": "^13.0.1", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.4.tgz", + "integrity": "sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.2", + "tuf-js": "^2.2.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/verify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-1.2.1.tgz", + "integrity": "sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.1.0", + "@sigstore/protobuf-specs": "^0.3.2" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "license": "MIT" + }, + "node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@sinonjs/samsam": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.2.tgz", + "integrity": "sha512-v46t/fwnhejRSFTGqbpn9u+LQ9xJDse10gNnPgAcxgdoCDMXj/G2asWAC/8Qs+BAZDicX+MNZouXT1A7c83kVw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1", + "lodash.get": "^4.4.2", + "type-detect": "^4.1.0" + } + }, + "node_modules/@sinonjs/samsam/node_modules/type-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@sinonjs/text-encoding": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.3.tgz", + "integrity": "sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==", + "dev": true, + "license": "(Unlicense OR Apache-2.0)" + }, + "node_modules/@slorber/remark-comment": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz", + "integrity": "sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==", + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.1.0", + "micromark-util-symbol": "^1.0.1" + } + }, + "node_modules/@slorber/remark-comment/node_modules/micromark-factory-space": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", + "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/@slorber/remark-comment/node_modules/micromark-util-character": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", + "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/@slorber/remark-comment/node_modules/micromark-util-symbol": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", + "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/@slorber/remark-comment/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/@smithy/abort-controller": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.9.tgz", + "integrity": "sha512-yiW0WI30zj8ZKoSYNx90no7ugVn3khlyH/z5W8qtKBtVE6awRALbhSG+2SAHA1r6bO/6M9utxYKVZ3PCJ1rWxw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/config-resolver": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.13.tgz", + "integrity": "sha512-Gr/qwzyPaTL1tZcq8WQyHhTZREER5R1Wytmz4WnVGL4onA3dNk6Btll55c8Vr58pLdvWZmtG8oZxJTw3t3q7Jg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^3.1.12", + "@smithy/types": "^3.7.2", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.11", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/core": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.5.7.tgz", + "integrity": "sha512-8olpW6mKCa0v+ibCjoCzgZHQx1SQmZuW/WkrdZo73wiTprTH6qhmskT60QLFdT9DRa5mXxjz89kQPZ7ZSsoqqg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/middleware-serde": "^3.0.11", + "@smithy/protocol-http": "^4.1.8", + "@smithy/types": "^3.7.2", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-middleware": "^3.0.11", + "@smithy/util-stream": "^3.3.4", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/credential-provider-imds": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.8.tgz", + "integrity": "sha512-ZCY2yD0BY+K9iMXkkbnjo+08T2h8/34oHd0Jmh6BZUSZwaaGlGCyBT/3wnS7u7Xl33/EEfN4B6nQr3Gx5bYxgw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^3.1.12", + "@smithy/property-provider": "^3.1.11", + "@smithy/types": "^3.7.2", + "@smithy/url-parser": "^3.0.11", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/fetch-http-handler": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.9.tgz", + "integrity": "sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^4.1.4", + "@smithy/querystring-builder": "^3.0.7", + "@smithy/types": "^3.5.0", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/hash-node": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.11.tgz", + "integrity": "sha512-emP23rwYyZhQBvklqTtwetkQlqbNYirDiEEwXl2v0GYWMnCzxst7ZaRAnWuy28njp5kAH54lvkdG37MblZzaHA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/invalid-dependency": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.11.tgz", + "integrity": "sha512-NuQmVPEJjUX6c+UELyVz8kUx8Q539EDeNwbRyu4IIF8MeV7hUtq1FB3SHVyki2u++5XLMFqngeMKk7ccspnNyQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-content-length": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.13.tgz", + "integrity": "sha512-zfMhzojhFpIX3P5ug7jxTjfUcIPcGjcQYzB9t+rv0g1TX7B0QdwONW+ATouaLoD7h7LOw/ZlXfkq4xJ/g2TrIw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^4.1.8", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-endpoint": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.2.8.tgz", + "integrity": "sha512-OEJZKVUEhMOqMs3ktrTWp7UvvluMJEvD5XgQwRePSbDg1VvBaL8pX8mwPltFn6wk1GySbcVwwyldL8S+iqnrEQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^2.5.7", + "@smithy/middleware-serde": "^3.0.11", + "@smithy/node-config-provider": "^3.1.12", + "@smithy/shared-ini-file-loader": "^3.1.12", + "@smithy/types": "^3.7.2", + "@smithy/url-parser": "^3.0.11", + "@smithy/util-middleware": "^3.0.11", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-retry": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.34.tgz", + "integrity": "sha512-yVRr/AAtPZlUvwEkrq7S3x7Z8/xCd97m2hLDaqdz6ucP2RKHsBjEqaUA2ebNv2SsZoPEi+ZD0dZbOB1u37tGCA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^3.1.12", + "@smithy/protocol-http": "^4.1.8", + "@smithy/service-error-classification": "^3.0.11", + "@smithy/smithy-client": "^3.7.0", + "@smithy/types": "^3.7.2", + "@smithy/util-middleware": "^3.0.11", + "@smithy/util-retry": "^3.0.11", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-retry/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@smithy/middleware-serde": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.11.tgz", + "integrity": "sha512-KzPAeySp/fOoQA82TpnwItvX8BBURecpx6ZMu75EZDkAcnPtO6vf7q4aH5QHs/F1s3/snQaSFbbUMcFFZ086Mw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/middleware-stack": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.11.tgz", + "integrity": "sha512-1HGo9a6/ikgOMrTrWL/WiN9N8GSVYpuRQO5kjstAq4CvV59bjqnh7TbdXGQ4vxLD3xlSjfBjq5t1SOELePsLnA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/node-config-provider": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.12.tgz", + "integrity": "sha512-O9LVEu5J/u/FuNlZs+L7Ikn3lz7VB9hb0GtPT9MQeiBmtK8RSY3ULmsZgXhe6VAlgTw0YO+paQx4p8xdbs43vQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/property-provider": "^3.1.11", + "@smithy/shared-ini-file-loader": "^3.1.12", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/node-http-handler": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.3.3.tgz", + "integrity": "sha512-BrpZOaZ4RCbcJ2igiSNG16S+kgAc65l/2hmxWdmhyoGWHTLlzQzr06PXavJp9OBlPEG/sHlqdxjWmjzV66+BSQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/abort-controller": "^3.1.9", + "@smithy/protocol-http": "^4.1.8", + "@smithy/querystring-builder": "^3.0.11", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/property-provider": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.11.tgz", + "integrity": "sha512-I/+TMc4XTQ3QAjXfOcUWbSS073oOEAxgx4aZy8jHaf8JQnRkq2SZWw8+PfDtBvLUjcGMdxl+YwtzWe6i5uhL/A==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/protocol-http": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.8.tgz", + "integrity": "sha512-hmgIAVyxw1LySOwkgMIUN0kjN8TG9Nc85LJeEmEE/cNEe2rkHDUWhnJf2gxcSRFLWsyqWsrZGw40ROjUogg+Iw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/querystring-builder": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.11.tgz", + "integrity": "sha512-u+5HV/9uJaeLj5XTb6+IEF/dokWWkEqJ0XiaRRogyREmKGUgZnNecLucADLdauWFKUNbQfulHFEZEdjwEBjXRg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "@smithy/util-uri-escape": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/querystring-parser": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.11.tgz", + "integrity": "sha512-Je3kFvCsFMnso1ilPwA7GtlbPaTixa3WwC+K21kmMZHsBEOZYQaqxcMqeFFoU7/slFjKDIpiiPydvdJm8Q/MCw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/service-error-classification": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.11.tgz", + "integrity": "sha512-QnYDPkyewrJzCyaeI2Rmp7pDwbUETe+hU8ADkXmgNusO1bgHBH7ovXJiYmba8t0fNfJx75fE8dlM6SEmZxheog==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.12.tgz", + "integrity": "sha512-1xKSGI+U9KKdbG2qDvIR9dGrw3CNx+baqJfyr0igKEpjbHL5stsqAesYBzHChYHlelWtb87VnLWlhvfCz13H8Q==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-3.1.2.tgz", + "integrity": "sha512-3BcPylEsYtD0esM4Hoyml/+s7WP2LFhcM3J2AGdcL2vx9O60TtfpDOL72gjb4lU8NeRPeKAwR77YNyyGvMbuEA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-uri-escape": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/smithy-client": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.7.0.tgz", + "integrity": "sha512-9wYrjAZFlqWhgVo3C4y/9kpc68jgiSsKUnsFPzr/MSiRL93+QRDafGTfhhKAb2wsr69Ru87WTiqSfQusSmWipA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^2.5.7", + "@smithy/middleware-endpoint": "^3.2.8", + "@smithy/middleware-stack": "^3.0.11", + "@smithy/protocol-http": "^4.1.8", + "@smithy/types": "^3.7.2", + "@smithy/util-stream": "^3.3.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.7.2.tgz", + "integrity": "sha512-bNwBYYmN8Eh9RyjS1p2gW6MIhSO2rl7X9QeLM8iTdcGRP+eDiIWDt66c9IysCc22gefKszZv+ubV9qZc7hdESg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/url-parser": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.11.tgz", + "integrity": "sha512-TmlqXkSk8ZPhfc+SQutjmFr5FjC0av3GZP4B/10caK1SbRwe/v+Wzu/R6xEKxoNqL+8nY18s1byiy6HqPG37Aw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/querystring-parser": "^3.0.11", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-base64": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", + "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", + "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-config-provider": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", + "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.34.tgz", + "integrity": "sha512-FumjjF631lR521cX+svMLBj3SwSDh9VdtyynTYDAiBDEf8YPP5xORNXKQ9j0105o5+ARAGnOOP/RqSl40uXddA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/property-provider": "^3.1.11", + "@smithy/smithy-client": "^3.7.0", + "@smithy/types": "^3.7.2", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "3.0.34", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.34.tgz", + "integrity": "sha512-vN6aHfzW9dVVzkI0wcZoUXvfjkl4CSbM9nE//08lmUMyf00S75uuCpTrqF9uD4bD9eldIXlt53colrlwKAT8Gw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/config-resolver": "^3.0.13", + "@smithy/credential-provider-imds": "^3.2.8", + "@smithy/node-config-provider": "^3.1.12", + "@smithy/property-provider": "^3.1.11", + "@smithy/smithy-client": "^3.7.0", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-endpoints": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.1.7.tgz", + "integrity": "sha512-tSfcqKcN/Oo2STEYCABVuKgJ76nyyr6skGl9t15hs+YaiU06sgMkN7QYjo0BbVw+KT26zok3IzbdSOksQ4YzVw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^3.1.12", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-hex-encoding": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-middleware": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.11.tgz", + "integrity": "sha512-dWpyc1e1R6VoXrwLoLDd57U1z6CwNSdkM69Ie4+6uYh2GC7Vg51Qtan7ITzczuVpqezdDTKJGJB95fFvvjU/ow==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-retry": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.11.tgz", + "integrity": "sha512-hJUC6W7A3DQgaee3Hp9ZFcOxVDZzmBIRBPlUAk8/fSOEl7pE/aX7Dci0JycNOnm9Mfr0KV2XjIlUOcGWXQUdVQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/service-error-classification": "^3.0.11", + "@smithy/types": "^3.7.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.3.4.tgz", + "integrity": "sha512-SGhGBG/KupieJvJSZp/rfHHka8BFgj56eek9px4pp7lZbOF+fRiVr4U7A3y3zJD8uGhxq32C5D96HxsTC9BckQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/fetch-http-handler": "^4.1.3", + "@smithy/node-http-handler": "^3.3.3", + "@smithy/types": "^3.7.2", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-stream/node_modules/@smithy/fetch-http-handler": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-4.1.3.tgz", + "integrity": "sha512-6SxNltSncI8s689nvnzZQc/dPXcpHQ34KUj6gR/HBroytKOd/isMG3gJF/zBE1TBmTT18TXyzhg3O3SOOqGEhA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^4.1.8", + "@smithy/querystring-builder": "^3.0.11", + "@smithy/types": "^3.7.2", + "@smithy/util-base64": "^3.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-uri-escape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@smithy/util-utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^3.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@svgr/core/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@svgr/webpack": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@swc/core": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.10.18.tgz", + "integrity": "sha512-IUWKD6uQYGRy8w2X9EZrtYg1O3SCijlHbCXzMaHQYc1X7yjijQh4H3IVL9ssZZyVp2ZDfQZu4bD5DWxxvpyjvg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.17" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.10.18", + "@swc/core-darwin-x64": "1.10.18", + "@swc/core-linux-arm-gnueabihf": "1.10.18", + "@swc/core-linux-arm64-gnu": "1.10.18", + "@swc/core-linux-arm64-musl": "1.10.18", + "@swc/core-linux-x64-gnu": "1.10.18", + "@swc/core-linux-x64-musl": "1.10.18", + "@swc/core-win32-arm64-msvc": "1.10.18", + "@swc/core-win32-ia32-msvc": "1.10.18", + "@swc/core-win32-x64-msvc": "1.10.18" + }, + "peerDependencies": { + "@swc/helpers": "*" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.10.18.tgz", + "integrity": "sha512-FdGqzAIKVQJu8ROlnHElP59XAUsUzCFSNsou+tY/9ba+lhu8R9v0OI5wXiPErrKGZpQFMmx/BPqqhx3X4SuGNg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.10.18.tgz", + "integrity": "sha512-RZ73gZRituL/ZVLgrW6BYnQ5g8tuStG4cLUiPGJsUZpUm0ullSH6lHFvZTCBNFTfpQChG6eEhi2IdG6DwFp1lw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.10.18.tgz", + "integrity": "sha512-8iJqI3EkxJuuq21UHoen1VS+QlS23RvynRuk95K+Q2HBjygetztCGGEc+Xelx9a0uPkDaaAtFvds4JMDqb9SAA==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.10.18.tgz", + "integrity": "sha512-8f1kSktWzMB6PG+r8lOlCfXz5E8Qhsmfwonn77T/OfjvGwQaWrcoASh2cdjpk3dydbf8jsKGPQE1lSc7GyjXRQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.10.18.tgz", + "integrity": "sha512-4rv+E4VLdgQw6zjbTAauCAEExxChvxMpBUMCiZweTNPKbJJ2dY6BX2WGJ1ea8+RcgqR/Xysj3AFbOz1LBz6dGA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.10.18.tgz", + "integrity": "sha512-vTNmyRBVP+sZca+vtwygYPGTNudTU6Gl6XhaZZ7cEUTBr8xvSTgEmYXoK/2uzyXpaTUI4Bmtp1x81cGN0mMoLQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.10.18.tgz", + "integrity": "sha512-1TZPReKhFCeX776XaT6wegknfg+g3zODve+r4oslFHI+g7cInfWlxoGNDS3niPKyuafgCdOjme2g3OF+zzxfsQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.10.18.tgz", + "integrity": "sha512-o/2CsaWSN3bkzVQ6DA+BiFKSVEYvhWGA1h+wnL2zWmIDs2Knag54sOEXZkCaf8YQyZesGeXJtPEy9hh/vjJgkA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.10.18.tgz", + "integrity": "sha512-eTPASeJtk4mJDfWiYEiOC6OYUi/N7meHbNHcU8e+aKABonhXrIo/FmnTE8vsUtC6+jakT1TQBdiQ8fzJ1kJVwA==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.10.18.tgz", + "integrity": "sha512-1Dud8CDBnc34wkBOboFBQud9YlV1bcIQtKSg7zC8LtwR3h+XAaCayZPkpGmmAlCv1DLQPvkF+s0JcaVC9mfffQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "license": "Apache-2.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@swc/html": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/html/-/html-1.10.18.tgz", + "integrity": "sha512-wGSDnY1yXOrSLyLPfl/SJqw785fa9djJCAFE/4/aaB1x1R78jDBNM9yL592IkKOXtGFZsshR9ecy26RT2PySIw==", + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3" + }, + "engines": { + "node": ">=14" + }, + "optionalDependencies": { + "@swc/html-darwin-arm64": "1.10.18", + "@swc/html-darwin-x64": "1.10.18", + "@swc/html-linux-arm-gnueabihf": "1.10.18", + "@swc/html-linux-arm64-gnu": "1.10.18", + "@swc/html-linux-arm64-musl": "1.10.18", + "@swc/html-linux-x64-gnu": "1.10.18", + "@swc/html-linux-x64-musl": "1.10.18", + "@swc/html-win32-arm64-msvc": "1.10.18", + "@swc/html-win32-ia32-msvc": "1.10.18", + "@swc/html-win32-x64-msvc": "1.10.18" + } + }, + "node_modules/@swc/html-darwin-arm64": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/html-darwin-arm64/-/html-darwin-arm64-1.10.18.tgz", + "integrity": "sha512-D21RHFWy17nQePsHsqOgwXMl+fdnGSc5pV/R7/edFtZM71JOlnkO1NLX+W54cF18LtfNJ7aFrZ5Rr0YlPZd/Tw==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-darwin-x64": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/html-darwin-x64/-/html-darwin-x64-1.10.18.tgz", + "integrity": "sha512-hLSM/jWz8msPXwH2siyhNfqG1LXB+24W67BHjFh0bS7eAuIvbj7wWiMBjf2KLLKlq5WlIEliiGB9qHB1Dyal3w==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-linux-arm-gnueabihf": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/html-linux-arm-gnueabihf/-/html-linux-arm-gnueabihf-1.10.18.tgz", + "integrity": "sha512-h4vdQk/AN2LfyinE6vqjeSwIP9uOj0uG3RB8Zj4F9qxIsKjk9WcZmCuyZKslLJM+a1DICtKJPu4poMtMXZJiLQ==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-linux-arm64-gnu": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/html-linux-arm64-gnu/-/html-linux-arm64-gnu-1.10.18.tgz", + "integrity": "sha512-hkqbeApRyldLLrrkU6tnXe06UrB97yFEDsJ4pyPIP5luWtoMAo0vz1UrOyBTN96rTF6Mocfk6huhVe2tnZQf8A==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-linux-arm64-musl": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/html-linux-arm64-musl/-/html-linux-arm64-musl-1.10.18.tgz", + "integrity": "sha512-4Xpl7WVDqOWWkTgkH5f0j3v3jLwYDKyhEwPLdGtKPwK0Oi2989Y+E09i093a4jSfpqeEN2IRgJJLOKC2jMZi1A==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-linux-x64-gnu": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/html-linux-x64-gnu/-/html-linux-x64-gnu-1.10.18.tgz", + "integrity": "sha512-Cf64i7gEMEzP/7SOpaqD41AMLpdSL+fbSIukVEFDJryttILahLWrHrVjpgXaQQfWqOsAYhFwVpn57Xd2WgD/Cg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-linux-x64-musl": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/html-linux-x64-musl/-/html-linux-x64-musl-1.10.18.tgz", + "integrity": "sha512-ThhW9E5zQkaAggNurHdCeEbZVj3fda5XBzxpO8h4kMW5qR5lChsB5tG3TDYLsNsaLDkGDaVFUd9lCpF5KEG6pQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-win32-arm64-msvc": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/html-win32-arm64-msvc/-/html-win32-arm64-msvc-1.10.18.tgz", + "integrity": "sha512-ON4RZD7gjVJOGBriNeU7q4xRS4OyRmn8hesU8GS5QZafy9jFPA/jUYDOfWC2ValfI6OkbXW6w3wECPUr3izm6Q==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-win32-ia32-msvc": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/html-win32-ia32-msvc/-/html-win32-ia32-msvc-1.10.18.tgz", + "integrity": "sha512-bfHqrSNk/dySpQp+AtCn4bz7CWoz6fBLAxzWlTihmBh5Fw/8k3mOWMEMGZgpAIDXbkaRW3SYpwtPEew/OH6uXw==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-win32-x64-msvc": { + "version": "1.10.18", + "resolved": "https://registry.npmjs.org/@swc/html-win32-x64-msvc/-/html-win32-x64-msvc-1.10.18.tgz", + "integrity": "sha512-+cMUoUJTge8qh+2Ulx80YOdpf2dK04zvhv6q87DCNFuwMcCDnoSxop6S+fXV6n5pKNtBqHwpQAEH/LoMw5OyEg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/types": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.17.tgz", + "integrity": "sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==", + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.1" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-2.0.1.tgz", + "integrity": "sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/conventional-commits-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.1.tgz", + "integrity": "sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz", + "integrity": "sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/gtag.js": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", + "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==", + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", + "license": "MIT" + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "license": "MIT" + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.16", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.16.tgz", + "integrity": "sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "license": "MIT" + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "22.13.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.5.tgz", + "integrity": "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" + }, + "node_modules/@types/prismjs": { + "version": "1.26.5", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.5.tgz", + "integrity": "sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==", + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.9.18", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.18.tgz", + "integrity": "sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==", + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.0.10", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz", + "integrity": "sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==", + "license": "MIT", + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.20", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", + "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "license": "MIT", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-config": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz", + "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==", + "license": "MIT", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "^5.1.0" + } + }, + "node_modules/@types/react-router-dom": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", + "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "license": "MIT", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "license": "MIT" + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.5.14", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.14.tgz", + "integrity": "sha512-bd/YFLW+URhBzMXurx7lWByOu+xzU9+kb3RboOteXYDfW+tr+JZa99OyNmPINEGB/ahzKrEuc8rcv4gnpJmxTw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.24.1.tgz", + "integrity": "sha512-ll1StnKtBigWIGqvYDVuDmXJHVH4zLVot1yQ4fJtLpL7qacwkxJc1T0bptqw+miBQ/QfUbhl1TcQ4accW5KUyA==", + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.24.1", + "@typescript-eslint/type-utils": "8.24.1", + "@typescript-eslint/utils": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.24.1.tgz", + "integrity": "sha512-Tqoa05bu+t5s8CTZFaGpCH2ub3QeT9YDkXbPd3uQ4SfsLoh1/vv2GEYAioPoxCWJJNsenXlC88tRjwoHNts1oQ==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.24.1", + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/typescript-estree": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.24.1.tgz", + "integrity": "sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.24.1.tgz", + "integrity": "sha512-/Do9fmNgCsQ+K4rCz0STI7lYB4phTtEXqqCAs3gZW0pnK7lWNkvWd5iW545GSmApm4AzmQXmSqXPO565B4WVrw==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "8.24.1", + "@typescript-eslint/utils": "8.24.1", + "debug": "^4.3.4", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.24.1.tgz", + "integrity": "sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==", + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.24.1.tgz", + "integrity": "sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.24.1.tgz", + "integrity": "sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ==", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.24.1", + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/typescript-estree": "8.24.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.24.1.tgz", + "integrity": "sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.24.1", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@uiw/codemirror-extensions-basic-setup": { + "version": "4.23.8", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-extensions-basic-setup/-/codemirror-extensions-basic-setup-4.23.8.tgz", + "integrity": "sha512-XJR/8AEVcE7ufy1BhW2nCN9qSVDYEdCtYLfvhaMwl6Q3qcaYYCGE2K5QbFCy7LsdP/3uZKvc1OskuqatoOPdhQ==", + "license": "MIT", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/commands": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/search": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@codemirror/autocomplete": ">=6.0.0", + "@codemirror/commands": ">=6.0.0", + "@codemirror/language": ">=6.0.0", + "@codemirror/lint": ">=6.0.0", + "@codemirror/search": ">=6.0.0", + "@codemirror/state": ">=6.0.0", + "@codemirror/view": ">=6.0.0" + } + }, + "node_modules/@uiw/react-codemirror": { + "version": "4.23.8", + "resolved": "https://registry.npmjs.org/@uiw/react-codemirror/-/react-codemirror-4.23.8.tgz", + "integrity": "sha512-/NA5Pj4MmXkLSlmlUm4yfEmRLntrNq5TkQKBSINn7TukXQ4fc+C6Bk0U60Qa4rkvCSgwzZdQ2exyP0t0+2GtqA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.6", + "@codemirror/commands": "^6.1.0", + "@codemirror/state": "^6.1.1", + "@codemirror/theme-one-dark": "^6.0.0", + "@uiw/codemirror-extensions-basic-setup": "4.23.8", + "codemirror": "^6.0.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.11.0", + "@codemirror/state": ">=6.0.0", + "@codemirror/theme-one-dark": ">=6.0.0", + "@codemirror/view": ">=6.0.0", + "codemirror": ">=6.0.0", + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0" + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/@yarnpkg/parsers": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.2.tgz", + "integrity": "sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "js-yaml": "^3.10.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/@yarnpkg/parsers/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@yarnpkg/parsers/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@yarnpkg/parsers/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@zkochan/js-yaml": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz", + "integrity": "sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/algoliasearch": { + "version": "5.20.3", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.20.3.tgz", + "integrity": "sha512-iNC6BGvipaalFfDfDnXUje8GUlW5asj0cTMsZJwO/0rhsyLx1L7GZFAY8wW+eQ6AM4Yge2p5GSE5hrBlfSD90Q==", + "license": "MIT", + "dependencies": { + "@algolia/client-abtesting": "5.20.3", + "@algolia/client-analytics": "5.20.3", + "@algolia/client-common": "5.20.3", + "@algolia/client-insights": "5.20.3", + "@algolia/client-personalization": "5.20.3", + "@algolia/client-query-suggestions": "5.20.3", + "@algolia/client-search": "5.20.3", + "@algolia/ingestion": "1.20.3", + "@algolia/monitoring": "1.20.3", + "@algolia/recommend": "5.20.3", + "@algolia/requester-browser-xhr": "5.20.3", + "@algolia/requester-fetch": "5.20.3", + "@algolia/requester-node-http": "5.20.3" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/algoliasearch-helper": { + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.24.1.tgz", + "integrity": "sha512-knYRACqLH9UpeR+WRUrBzBFR2ulGuOjI2b525k4PNeqZxeFMHJE7YcL7s6Jh12Qza0rtHqZdgHMfeuaaAkf4wA==", + "license": "MIT", + "dependencies": { + "@algolia/events": "^4.0.1" + }, + "peerDependencies": { + "algoliasearch": ">= 3.1 < 6" + } + }, + "node_modules/all-contributors-cli": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/all-contributors-cli/-/all-contributors-cli-6.26.1.tgz", + "integrity": "sha512-Ymgo3FJACRBEd1eE653FD1J/+uD0kqpUNYfr9zNC1Qby0LgbhDBzB3EF6uvkAbYpycStkk41J+0oo37Lc02yEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.7.6", + "async": "^3.1.0", + "chalk": "^4.0.0", + "didyoumean": "^1.2.1", + "inquirer": "^7.3.3", + "json-fixer": "^1.6.8", + "lodash": "^4.11.2", + "node-fetch": "^2.6.0", + "pify": "^5.0.0", + "yargs": "^15.0.1" + }, + "bin": { + "all-contributors": "dist/cli.js" + }, + "engines": { + "node": ">=4" + }, + "optionalDependencies": { + "prettier": "^2" + } + }, + "node_modules/all-contributors-cli/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/all-contributors-cli/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/all-contributors-cli/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/all-contributors-cli/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/all-contributors-cli/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/all-contributors-cli/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/all-contributors-cli/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/all-contributors-cli/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/all-contributors-cli/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/all-contributors-cli/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/all-contributors-cli/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/append-transform": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-require-extensions": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true, + "license": "MIT" + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "license": "MIT" + }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/atomic-sleep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/attr-accept": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.5.tgz", + "integrity": "sha512-0bDNnY/u6pPwHDMoF0FieU354oBi0a8rD9FcsLwzcGWbc8KS8KPIi7y+s13OlVY+gMWc/9xEMUgNE6Qm8ZllYQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.2.tgz", + "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==", + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axios": { + "version": "1.7.9", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", + "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/babel-loader": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", + "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", + "license": "MIT", + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-loader/node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "license": "MIT", + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/babel-loader/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "license": "MIT", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/babel-loader/node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "license": "MIT", + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/babel-plugin-const-enum": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-const-enum/-/babel-plugin-const-enum-1.2.0.tgz", + "integrity": "sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-typescript": "^7.3.3", + "@babel/traverse": "^7.16.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "license": "MIT", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, + "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-macros/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", + "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.3", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", + "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.3" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-transform-typescript-metadata": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-typescript-metadata/-/babel-plugin-transform-typescript-metadata-0.3.2.tgz", + "integrity": "sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "node_modules/backend.freesewing.org": { + "resolved": "sites/backend", + "link": true + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/base64url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "license": "MIT" + }, + "node_modules/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==", + "license": "MIT" + }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/bezier-js": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/bezier-js/-/bezier-js-6.1.4.tgz", + "integrity": "sha512-PA0FW9ZpcHbojUCMu28z9Vg/fNkwTj5YhusSAjHHDfHDGLxJ6YUKrAN2vk1fP2MMOxVw4Oko16FMlRGVBGqLKg==", + "license": "MIT", + "funding": { + "type": "individual", + "url": "https://github.com/Pomax/bezierjs/blob/master/FUNDING.md" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/bin-links": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-4.0.4.tgz", + "integrity": "sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA==", + "dev": true, + "license": "ISC", + "dependencies": { + "cmd-shim": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "read-cmd-shim": "^4.0.0", + "write-file-atomic": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/bonjour-service": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", + "license": "MIT" + }, + "node_modules/boxen": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", + "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^6.2.0", + "chalk": "^4.1.2", + "cli-boxes": "^3.0.0", + "string-width": "^5.0.1", + "type-fest": "^2.5.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/boxen/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/boxen/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brotli": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "license": "MIT", + "dependencies": { + "base64-js": "^1.1.2" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true, + "license": "ISC" + }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/builtins": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz", + "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/builtins/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/byte-size": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-8.1.1.tgz", + "integrity": "sha512-tUkzZWK0M/qdoLEqikxBWe4kumyuwjl3HO6zHTr4yEI23EojPtLYXdG1+AQY7MN0cGyNDvEaJ8wiYQm6P2bPxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/c8": { + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/c8/-/c8-10.1.3.tgz", + "integrity": "sha512-LvcyrOAaOnrrlMpW22n690PUvxiq4Uf9WMhQwNJ9vgagkL/ph1+D4uvjvDA5XCbykrc0sx+ay6pVi9YZ1GnhyA==", + "license": "ISC", + "dependencies": { + "@bcoe/v8-coverage": "^1.0.1", + "@istanbuljs/schema": "^0.1.3", + "find-up": "^5.0.0", + "foreground-child": "^3.1.1", + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-report": "^3.0.1", + "istanbul-reports": "^3.1.6", + "test-exclude": "^7.0.1", + "v8-to-istanbul": "^9.0.0", + "yargs": "^17.7.2", + "yargs-parser": "^21.1.1" + }, + "bin": { + "c8": "bin/c8.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "monocart-coverage-reports": "^2" + }, + "peerDependenciesMeta": { + "monocart-coverage-reports": { + "optional": true + } + } + }, + "node_modules/c8/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/c8/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/c8/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/c8/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/c8/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/c8/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacache": { + "version": "18.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", + "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/cache-content-type": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz", + "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==", + "license": "MIT", + "dependencies": { + "mime-types": "^2.1.18", + "ylru": "^1.2.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "license": "MIT", + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request": { + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "^4.0.2", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caching-transform": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/caching-transform/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caching-transform/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/caching-transform/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001700", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001700.tgz", + "integrity": "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chai": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/chai-http": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai-http/-/chai-http-5.1.1.tgz", + "integrity": "sha512-h+QZNfYdlcoyIyOb26N71S7700CP4EY+CQ1X15AsX1RD2xMLAWbMniS7yUTOEC6DzC5yydGV37wu81AGNm8esA==", + "dev": true, + "license": "MIT", + "dependencies": { + "charset": "^1.0.1", + "cookiejar": "^2.1.4", + "is-ip": "^5.0.1", + "methods": "^1.1.2", + "qs": "^6.12.1", + "superagent": "^9" + }, + "engines": { + "node": ">=18.20.0" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true, + "license": "MIT" + }, + "node_modules/charset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/charset/-/charset-1.0.1.tgz", + "integrity": "sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + } + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "license": "MIT", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cheerio-select/node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cheerio/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/cheerio/node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==", + "license": "MIT" + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", + "integrity": "sha512-41U72MB56TfUMGndAKK8vJ78eooOD4Z5NOL4xEfjc0c23s+6EYKXlXsmACBVclLP1yOfWCgEganVzddVrSNoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "exit": "0.1.2", + "glob": "^7.1.1" + }, + "engines": { + "node": ">=0.2.5" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 10" + } + }, + "node_modules/cli/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/cli/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cli/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clone-regexp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-3.0.0.tgz", + "integrity": "sha512-ujdnoq2Kxb8s3ItNBtnYeXdm07FcU0u8ARAT1lQ2YdMwQC+cdiXX8KoqMVuglztILivceTtp4ivqGSmEmhBUJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-regexp": "^3.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cmd-shim": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-6.0.3.tgz", + "integrity": "sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/codemirror": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.1.tgz", + "integrity": "sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==", + "license": "MIT", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/commands": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/search": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" + }, + "node_modules/columnify": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz", + "integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/combine-promises": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", + "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", + "dev": true, + "license": "ISC" + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "license": "ISC" + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true, + "license": "MIT" + }, + "node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.0.tgz", + "integrity": "sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.0.2", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, + "engines": [ + "node >= 6.0" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/config-chain/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/configstore": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", + "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", + "license": "BSD-2-Clause", + "dependencies": { + "dot-prop": "^6.0.1", + "graceful-fs": "^4.2.6", + "unique-string": "^3.0.0", + "write-file-atomic": "^3.0.3", + "xdg-basedir": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/yeoman/configstore?sponsor=1" + } + }, + "node_modules/configstore/node_modules/dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/configstore/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/configstore/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/configstore/node_modules/xdg-basedir": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", + "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consola": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.0.tgz", + "integrity": "sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==", + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha512-duS7VP5pvfsNLDvL1O4VOEbw37AI3A4ZUQYemvDlnpGrNu9tprR7BYWpDYwC0Xia0Zxz5ZupdiIrUp0GH1aXfg==", + "dev": true, + "dependencies": { + "date-now": "^0.1.4" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/conventional-changelog-angular": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", + "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/conventional-changelog-conventionalcommits": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz", + "integrity": "sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/conventional-changelog-core": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-5.0.1.tgz", + "integrity": "sha512-Rvi5pH+LvgsqGwZPZ3Cq/tz4ty7mjijhr3qR4m9IBXNbxGGYgTVVO+duXzz9aArmHxFtwZ+LRkrNIMDQzgoY4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^6.0.0", + "conventional-commits-parser": "^4.0.0", + "dateformat": "^3.0.3", + "get-pkg-repo": "^4.2.1", + "git-raw-commits": "^3.0.0", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^5.0.0", + "normalize-package-data": "^3.0.3", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/conventional-changelog-core/node_modules/conventional-commits-parser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz", + "integrity": "sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.3.5", + "meow": "^8.1.2", + "split2": "^3.2.2" + }, + "bin": { + "conventional-commits-parser": "cli.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/conventional-changelog-core/node_modules/dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-core/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-core/node_modules/git-raw-commits": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-3.0.0.tgz", + "integrity": "sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dargs": "^7.0.0", + "meow": "^8.1.2", + "split2": "^3.2.2" + }, + "bin": { + "git-raw-commits": "cli.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/conventional-changelog-core/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core/node_modules/is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "text-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-changelog-core/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-core/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core/node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-core/node_modules/meow/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-changelog-core/node_modules/meow/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-core/node_modules/meow/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-core/node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-core/node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/conventional-changelog-core/node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-core/node_modules/meow/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/conventional-changelog-core/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-core/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-core/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-core/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core/node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "license": "ISC", + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/conventional-changelog-core/node_modules/text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/conventional-changelog-core/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-core/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-changelog-core/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-preset-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-3.0.0.tgz", + "integrity": "sha512-qy9XbdSLmVnwnvzEisjxdDiLA4OmV3o8db+Zdg4WiFw14fP3B6XNz98X0swPPpkTd/pc1K7+adKgEDM1JCUMiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/conventional-changelog-writer": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-6.0.1.tgz", + "integrity": "sha512-359t9aHorPw+U+nHzUXHS5ZnPBOizRxfQsWT5ZDHBfvfxQOAik+yfuhKXG66CN5LEWPpMNnIMHUTCKeYNprvHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "conventional-commits-filter": "^3.0.0", + "dateformat": "^3.0.3", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "meow": "^8.1.2", + "semver": "^7.0.0", + "split": "^1.0.1" + }, + "bin": { + "conventional-changelog-writer": "cli.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/conventional-changelog-writer/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer/node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-writer/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-writer/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-writer/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-changelog-writer/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-3.0.0.tgz", + "integrity": "sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/conventional-commits-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-text-path": "^2.0.0", + "JSONStream": "^1.3.5", + "meow": "^12.0.1", + "split2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.mjs" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/conventional-recommended-bump": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-7.0.1.tgz", + "integrity": "sha512-Ft79FF4SlOFvX4PkwFDRnaNiIVX7YbmqGU0RwccUaiGvgp3S0a8ipR2/Qxk31vclDNM+GSdJOVs2KrsUCjblVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^3.0.0", + "conventional-commits-filter": "^3.0.0", + "conventional-commits-parser": "^4.0.0", + "git-raw-commits": "^3.0.0", + "git-semver-tags": "^5.0.0", + "meow": "^8.1.2" + }, + "bin": { + "conventional-recommended-bump": "cli.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/conventional-recommended-bump/node_modules/conventional-commits-parser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz", + "integrity": "sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.3.5", + "meow": "^8.1.2", + "split2": "^3.2.2" + }, + "bin": { + "conventional-commits-parser": "cli.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/conventional-recommended-bump/node_modules/dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-recommended-bump/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-recommended-bump/node_modules/git-raw-commits": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-3.0.0.tgz", + "integrity": "sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dargs": "^7.0.0", + "meow": "^8.1.2", + "split2": "^3.2.2" + }, + "bin": { + "git-raw-commits": "cli.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/conventional-recommended-bump/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-recommended-bump/node_modules/is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "text-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/conventional-recommended-bump/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-recommended-bump/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-recommended-bump/node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-recommended-bump/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-recommended-bump/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-recommended-bump/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-recommended-bump/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-recommended-bump/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-recommended-bump/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-recommended-bump/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-recommended-bump/node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-recommended-bump/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/conventional-recommended-bump/node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/conventional-recommended-bump/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-recommended-bump/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-recommended-bump/node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "license": "ISC", + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/conventional-recommended-bump/node_modules/text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/conventional-recommended-bump/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-recommended-bump/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-recommended-bump/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/convert-hrtime": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", + "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookies": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.9.1.tgz", + "integrity": "sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "keygrip": "~1.1.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/copy-text-to-clipboard": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", + "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "license": "MIT", + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "license": "MIT", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js": { + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.40.0.tgz", + "integrity": "sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.40.0.tgz", + "integrity": "sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.24.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.40.0.tgz", + "integrity": "sha512-AtDzVIgRrmRKQai62yuSIN5vNiQjcJakJb4fbhVw3ehxx7Lohphvw9SGNWKhLFqSxC4ilD0g/L1huAYFQU3Q6A==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cosmiconfig-typescript-loader": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-6.1.0.tgz", + "integrity": "sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "jiti": "^2.4.1" + }, + "engines": { + "node": ">=v18" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=9", + "typescript": ">=5" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/crelt": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", + "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==", + "license": "MIT" + }, + "node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", + "license": "MIT" + }, + "node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "license": "MIT", + "dependencies": { + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/css-blank-pseudo": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-7.0.1.tgz", + "integrity": "sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-blank-pseudo/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-declaration-sorter": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", + "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", + "license": "ISC", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-has-pseudo": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-7.0.2.tgz", + "integrity": "sha512-nzol/h+E0bId46Kn2dQH5VElaknX2Sr0hFuB/1EomdC7j+OISt2ZzK7EHX9DZDY53WbIVAR7FYKSO2XnSf07MQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-has-pseudo/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", + "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "cssnano": "^6.0.1", + "jest-worker": "^29.4.3", + "postcss": "^8.4.24", + "schema-utils": "^4.0.1", + "serialize-javascript": "^6.0.1" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "lightningcss": { + "optional": true + } + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-10.0.0.tgz", + "integrity": "sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/css-select/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/css-select/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/css-select/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/css-selector-tokenizer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz", + "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssdb": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.2.3.tgz", + "integrity": "sha512-9BDG5XmJrJQQnJ51VFxXCAtpZ5ebDlAREmO8sxMOVU0aSxN/gocbctjIG5LMh3WBUq+xTlb/jw2LoljBEqraTA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ], + "license": "MIT-0" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^6.1.2", + "lilconfig": "^3.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-advanced": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", + "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", + "license": "MIT", + "dependencies": { + "autoprefixer": "^10.4.19", + "browserslist": "^4.23.0", + "cssnano-preset-default": "^6.1.2", + "postcss-discard-unused": "^6.0.5", + "postcss-merge-idents": "^6.0.3", + "postcss-reduce-idents": "^6.0.3", + "postcss-zindex": "^6.0.2" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-default": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", + "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^4.0.2", + "postcss-calc": "^9.0.1", + "postcss-colormin": "^6.1.0", + "postcss-convert-values": "^6.1.0", + "postcss-discard-comments": "^6.0.2", + "postcss-discard-duplicates": "^6.0.3", + "postcss-discard-empty": "^6.0.3", + "postcss-discard-overridden": "^6.0.2", + "postcss-merge-longhand": "^6.0.5", + "postcss-merge-rules": "^6.1.1", + "postcss-minify-font-values": "^6.1.0", + "postcss-minify-gradients": "^6.0.3", + "postcss-minify-params": "^6.1.0", + "postcss-minify-selectors": "^6.0.4", + "postcss-normalize-charset": "^6.0.2", + "postcss-normalize-display-values": "^6.0.2", + "postcss-normalize-positions": "^6.0.2", + "postcss-normalize-repeat-style": "^6.0.2", + "postcss-normalize-string": "^6.0.2", + "postcss-normalize-timing-functions": "^6.0.2", + "postcss-normalize-unicode": "^6.1.0", + "postcss-normalize-url": "^6.0.2", + "postcss-normalize-whitespace": "^6.0.2", + "postcss-ordered-values": "^6.0.2", + "postcss-reduce-initial": "^6.1.0", + "postcss-reduce-transforms": "^6.0.2", + "postcss-svgo": "^6.0.3", + "postcss-unique-selectors": "^6.0.4" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-utils": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", + "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/culori": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/culori/-/culori-3.3.0.tgz", + "integrity": "sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/daisyui": { + "version": "4.12.23", + "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-4.12.23.tgz", + "integrity": "sha512-EM38duvxutJ5PD65lO/AFMpcw+9qEy6XAZrTpzp7WyaPeO/l+F/Qiq0ECHHmFNcFXh5aVoALY4MGrrxtCiaQCQ==", + "license": "MIT", + "dependencies": { + "css-selector-tokenizer": "^0.8", + "culori": "^3", + "picocolors": "^1", + "postcss-js": "^4" + }, + "engines": { + "node": ">=16.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/daisyui" + } + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "license": "BSD-2-Clause" + }, + "node_modules/dargs": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-8.1.0.tgz", + "integrity": "sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha512-AsElvov3LoNB7tf5k37H2jYSB+ZZPMT5sG2QjJCcdlV5chIv6htBUBUui2IKRjgtKAKtCBN7Zbwa+MtwLjSeNw==", + "dev": true + }, + "node_modules/dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decode-named-character-reference/node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==", + "license": "MIT" + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/default-gateway/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/default-gateway/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/default-gateway/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/default-gateway/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/default-require-extensions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", + "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "strip-bom": "^4.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "license": "MIT", + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/del/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/del/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/del/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "license": "MIT" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-indent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "license": "Apache-2.0", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "license": "MIT" + }, + "node_modules/detect-port": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz", + "integrity": "sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==", + "license": "MIT", + "dependencies": { + "address": "^1.0.1", + "debug": "4" + }, + "bin": { + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "license": "MIT", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/dev": { + "resolved": "sites/dev", + "link": true + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dev": true, + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==", + "license": "MIT" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "license": "Apache-2.0" + }, + "node_modules/diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dijkstrajs": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", + "license": "MIT" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "license": "MIT", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz", + "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "license": "MIT" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/echarts": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.6.0.tgz", + "integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.6.1" + } + }, + "node_modules/echarts-for-react": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/echarts-for-react/-/echarts-for-react-3.0.2.tgz", + "integrity": "sha512-DRwIiTzx8JfwPOVgGttDytBqdp5VzCSyMRIxubgU/g2n9y3VLUmF2FK7Icmg/sNVkv4+rktmrLN9w22U2yy3fA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "size-sensor": "^1.0.1" + }, + "peerDependencies": { + "echarts": "^3.0.0 || ^4.0.0 || ^5.0.0", + "react": "^15.0.0 || >=16.0.0" + } + }, + "node_modules/echarts/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.103", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.103.tgz", + "integrity": "sha512-P6+XzIkfndgsrjROJWfSvVEgNHtPgbhVyTkwLjUM2HU/h7pZRORgaTlHqfAikqxKmdJMLW8fftrdGWbd/Ds0FA==", + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/emoticon": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.1.0.tgz", + "integrity": "sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/encode-utf8": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", + "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", + "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/envinfo": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", + "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", + "dev": true, + "license": "MIT", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.23.9", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", + "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.0", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-regex": "^1.2.1", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.0", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.18" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", + "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "license": "MIT" + }, + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-goat": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", + "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-compat-utils": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.6.4.tgz", + "integrity": "sha512-/u+GQt8NMfXO8w17QendT4gvO5acfxQsAKirAt0LVxDnr2N8YLCVbregaNc/Yhp7NM128DwCaRvr8PLDfeNkQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/eslint-compat-utils/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-config-next": { + "version": "14.2.24", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.2.24.tgz", + "integrity": "sha512-9r1ujK++Pgpfixr5+DQ6rXDIQmSzuDbBlAQYMkJRMz9KWqovX7ESUTC0EAyBfOCl3ubkoeplw+aoXDuih3A8fw==", + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "14.2.24", + "@rushstack/eslint-patch": "^1.3.3", + "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + }, + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-standard": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", + "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.1", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^15.0.0 || ^16.0.0 ", + "eslint-plugin-promise": "^6.0.0" + } + }, + "node_modules/eslint-config-standard-jsx": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz", + "integrity": "sha512-+1EV/R0JxEK1L0NGolAr8Iktm3Rgotx3BKwgaX+eAuSX8D952LULKtjgZD3F+e6SvibONnhLwoTi9DPxN5LvvQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "peerDependencies": { + "eslint": "^8.8.0", + "eslint-plugin-react": "^7.28.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.8.3.tgz", + "integrity": "sha512-A0bu4Ks2QqDWNpeEgTQMPTngaMhuDu4yv6xpftBMAf+1ziXnpx+eSR1WRfoPTe2BAiAjHFZ7kSNx1fvr5g5pmQ==", + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.3.7", + "enhanced-resolve": "^5.15.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^1.0.2", + "stable-hash": "^0.0.4", + "tinyglobby": "^0.2.12" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-json-compat-utils": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/eslint-json-compat-utils/-/eslint-json-compat-utils-0.2.1.tgz", + "integrity": "sha512-YzEodbDyW8DX8bImKhAcCeu/L31Dd/70Bidx2Qex9OFUtgzXLqtfWL4Hr5fM/aCCB8QUZLuJur0S9k6UfgFkfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "esquery": "^1.6.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "eslint": "*", + "jsonc-eslint-parser": "^2.4.0" + }, + "peerDependenciesMeta": { + "@eslint/json": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-es": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz", + "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-utils": "^2.0.0", + "regexpp": "^3.0.0" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=4.19.1" + } + }, + "node_modules/eslint-plugin-es/node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-import/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/eslint-plugin-jsonc": { + "version": "2.19.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.19.1.tgz", + "integrity": "sha512-MmlAOaZK1+Lg7YoCZPGRjb88ZjT+ct/KTsvcsbZdBm+w8WMzGx+XEmexk0m40P1WV9G2rFV7X3klyRGRpFXEjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "eslint-compat-utils": "^0.6.0", + "eslint-json-compat-utils": "^0.2.1", + "espree": "^9.6.1", + "graphemer": "^1.4.0", + "jsonc-eslint-parser": "^2.0.4", + "natural-compare": "^1.4.0", + "synckit": "^0.6.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-markdown": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-markdown/-/eslint-plugin-markdown-5.1.0.tgz", + "integrity": "sha512-SJeyKko1K6GwI0AN6xeCDToXDkfKZfXcexA6B+O2Wr2btUS9GrC+YgwSyVli5DJnctUHjFXcQ2cqTaAmVoLi2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^0.8.5" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": ">=8" + } + }, + "node_modules/eslint-plugin-mongo": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-mongo/-/eslint-plugin-mongo-1.0.5.tgz", + "integrity": "sha512-hnlJSKwvk0wHWw8dLlZjEKFOgs1XUkYmV5II+yQpTHkcJ03BTQ8PyUFn04wu8Y2eerB8TR53nEU1r5Co6boE8A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "requireindex": "~1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-n": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz", + "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "builtins": "^5.0.1", + "eslint-plugin-es": "^4.1.0", + "eslint-utils": "^3.0.0", + "ignore": "^5.1.1", + "is-core-module": "^2.11.0", + "minimatch": "^3.1.2", + "resolve": "^1.22.1", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-n/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-n/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-n/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-promise": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz", + "integrity": "sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz", + "integrity": "sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.0.0-canary-7118f5dd7-20230705", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz", + "integrity": "sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-yaml": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-yaml/-/eslint-plugin-yaml-0.5.0.tgz", + "integrity": "sha512-Z6km4HEiRptSuvzc96nXBND1Vlg57b7pzRmIJOgb9+3PAE+XpaBaiMx+Dg+3Y15tSrEMKCIZ9WoZMwkwUbPI8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-yaml": "^4.1.0", + "jshint": "^2.13.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/estree-util-value-to-estree": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.3.2.tgz", + "integrity": "sha512-hYH1aSvQI63Cvq3T3loaem6LW4u72F187zW4FHpTrReJSm6W66vYTFNO1vH/chmcOulp1HlAj1pxn8Ag0oXI5Q==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/remcohaszing" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-visit/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eta": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", + "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eval": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", + "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", + "dependencies": { + "@types/node": "*", + "require-like": ">= 0.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true, + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.2.tgz", + "integrity": "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==", + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.3", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz", + "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/express": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "license": "MIT" + }, + "node_modules/express/node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/express/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/external-editor/node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "license": "MIT" + }, + "node_modules/fast-redact": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.5.0.tgz", + "integrity": "sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fast-xml-parser": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", + "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", + "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fault": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", + "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", + "license": "MIT", + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/feed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "license": "MIT", + "dependencies": { + "xml-js": "^1.6.11" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "license": "MIT", + "dependencies": { + "is-unicode-supported": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/file-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/file-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==", + "license": "MIT" + }, + "node_modules/file-selector": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-2.1.2.tgz", + "integrity": "sha512-QgXo+mXTe8ljeqUFaX3QVHc5osSItJ/Km+xpocx0aSqWGMSCf6qYs/VnzZgS864Pjn5iceMRFigeAV7AfTlaig==", + "license": "MIT", + "dependencies": { + "tslib": "^2.7.0" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "license": "MIT" + }, + "node_modules/find-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", + "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^7.2.0", + "path-exists": "^5.0.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/flat-cache/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flat-cache/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fontkit": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.4.tgz", + "integrity": "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==", + "license": "MIT", + "dependencies": { + "@swc/helpers": "^0.5.12", + "brotli": "^1.3.2", + "clone": "^2.1.2", + "dfa": "^1.2.0", + "fast-deep-equal": "^3.1.3", + "restructure": "^3.0.0", + "tiny-inflate": "^1.0.3", + "unicode-properties": "^1.4.0", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/fontkit/node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "license": "MIT", + "engines": { + "node": ">= 14.17" + } + }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/formidable": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.2.tgz", + "integrity": "sha512-Jqc1btCy3QzRbJaICGwKcBfGWuLADRerLzDqi2NwSt/UkXLsHJw2TVResiaoBufHVHy9aSgClOHCeJsSsFLTbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dezalgo": "^1.0.4", + "hexoid": "^2.0.0", + "once": "^1.4.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fromentries": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", + "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/front-matter": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz", + "integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1" + } + }, + "node_modules/front-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/front-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/front-matter/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true, + "license": "MIT" + }, + "node_modules/fs-extra": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", + "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", + "license": "Unlicense" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function-timeout": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-0.1.1.tgz", + "integrity": "sha512-0NVVC0TaP7dSTvn1yMiy6d6Q8gifzbvQafO46RtLG/kHJUBNd+pVRGOBoK44wNBvtSPUJRfdVvkFdD3p0xvyZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "get-proto": "^1.0.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "license": "ISC" + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-pkg-repo": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "get-pkg-repo": "src/cli.js" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-pkg-repo/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/get-pkg-repo/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-pkg-repo/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-pkg-repo/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/get-pkg-repo/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/get-pkg-repo/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-pkg-repo/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/get-port": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", + "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "license": "MIT", + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz", + "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==", + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/git-raw-commits": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-4.0.0.tgz", + "integrity": "sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dargs": "^8.0.0", + "meow": "^12.0.1", + "split2": "^4.0.0" + }, + "bin": { + "git-raw-commits": "cli.mjs" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-remote-origin-url/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/git-semver-tags": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-5.0.1.tgz", + "integrity": "sha512-hIvOeZwRbQ+7YEUmCkHqo8FOLQZCEn18yevLHADlFPZY02KJGsu5FZt9YW/lybfK2uhWFI7Qg/07LekJiTv7iA==", + "dev": true, + "license": "MIT", + "dependencies": { + "meow": "^8.1.2", + "semver": "^7.0.0" + }, + "bin": { + "git-semver-tags": "cli.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/git-semver-tags/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-semver-tags/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-semver-tags/node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-semver-tags/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-semver-tags/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-semver-tags/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/git-semver-tags/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-semver-tags/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-semver-tags/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/git-semver-tags/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/git-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", + "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-ssh": "^1.4.0", + "parse-url": "^8.1.0" + } + }, + "node_modules/git-url-parse": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-14.0.0.tgz", + "integrity": "sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "git-up": "^7.0.0" + } + }, + "node_modules/gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", + "dev": true, + "license": "BSD", + "dependencies": { + "ini": "^1.3.2" + } + }, + "node_modules/gitconfiglocal/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", + "license": "ISC" + }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause" + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/global-directory": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", + "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "4.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "license": "MIT", + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-dirs/node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "license": "MIT", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/globby/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/got/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "license": "MIT" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/gray-matter/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "license": "MIT" + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-yarn": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", + "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasha": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasha/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasha/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-embedded": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", + "integrity": "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-format": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hast-util-format/-/hast-util-format-1.1.0.tgz", + "integrity": "sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-minify-whitespace": "^1.0.0", + "hast-util-phrasing": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "html-whitespace-sensitive-tag-names": "^3.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/hast-util-has-property": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", + "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-body-ok-link": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz", + "integrity": "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-minify-whitespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz", + "integrity": "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-is-body-ok-link": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.2.tgz", + "integrity": "sha512-94SDoKOfop5gP8RHyw4vV1aj+oChuD42g08BONGAaWFbbO6iaWUqxk7SWfGybgcVzhK16KifZr3zD2dqQgx3jQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^1.0.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.3.tgz", + "integrity": "sha512-pdpkP8YD4v+qMKn2lnKSiJvZvb3FunDmFYQvVOsoO08+eTNWdaWKPMrC5wwNICtU3dQWHhElj5Sf5jPEnv4qJg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5/node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hexoid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-2.0.0.tgz", + "integrity": "sha512-qlspKUK7IlSQv2o+5I7yhUd7TxlOG2Vr5LTa3ve2XSNVKAL/n/u/7KLvKmFNimomDIKvZFXWHv0T12mv7rT8Aw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/highlight.js": { + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", + "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/hooks": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/hooks/-/hooks-0.3.2.tgz", + "integrity": "sha512-TqeFzUf12rSzcbm5lUls81jimUC8TmXZ4ANPxxeeMou09hrjBcHYhAQ0WgyN5YqNCXOzz7L6xVNl/+ctFuSeOw==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-dom-parser": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-5.0.13.tgz", + "integrity": "sha512-B7JonBuAfG32I7fDouUQEogBrz3jK9gAuN1r1AaXpED6dIhtg/JwiSRhjGL7aOJwRz3HU4efowCjQBaoXiREqg==", + "license": "MIT", + "dependencies": { + "domhandler": "5.0.3", + "htmlparser2": "10.0.0" + } + }, + "node_modules/html-entities": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "license": "MIT" + }, + "node_modules/html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.15.1" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/html-minifier-terser/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/html-react-parser": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/html-react-parser/-/html-react-parser-5.2.2.tgz", + "integrity": "sha512-yA5012CJGSFWYZsgYzfr6HXJgDap38/AEP4ra8Cw+WHIi2ZRDXRX/QVYdumRf1P8zKyScKd6YOrWYvVEiPfGKg==", + "license": "MIT", + "dependencies": { + "domhandler": "5.0.3", + "html-dom-parser": "5.0.13", + "react-property": "2.0.2", + "style-to-js": "1.1.16" + }, + "peerDependencies": { + "@types/react": "0.14 || 15 || 16 || 17 || 18 || 19", + "react": "0.14 || 15 || 16 || 17 || 18 || 19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-url-attributes": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz", + "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", + "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", + "license": "MIT", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/html-webpack-plugin/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-whitespace-sensitive-tag-names": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-whitespace-sensitive-tag-names/-/html-whitespace-sensitive-tag-names-3.0.1.tgz", + "integrity": "sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/htmlparser2": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.1", + "entities": "^6.0.0" + } + }, + "node_modules/http-assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.5.0.tgz", + "integrity": "sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==", + "license": "MIT", + "dependencies": { + "deep-equal": "~1.0.1", + "http-errors": "~1.8.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-assert/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-assert/node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-assert/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "license": "BSD-2-Clause" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.9.tgz", + "integrity": "sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw==", + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/http-proxy/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" + }, + "node_modules/http2-wrapper": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "license": "MIT", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", + "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/husky": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", + "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==", + "dev": true, + "license": "MIT", + "bin": { + "husky": "bin.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", + "dev": true, + "license": "ISC" + }, + "node_modules/ignore-walk": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.5.tgz", + "integrity": "sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==", + "dev": true, + "license": "ISC", + "dependencies": { + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/image-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.0.tgz", + "integrity": "sha512-4S8fwbO6w3GeCVN6OPtA9I5IGKkcDMPcKndtUlpJuCwu7JLjtj7JZpwqLuyY2nrmQT3AWsCJLSKPsc2mPBSl3w==", + "license": "MIT", + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=16.x" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-meta-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/infima": { + "version": "0.2.0-alpha.45", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.45.tgz", + "integrity": "sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", + "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/init-package-json": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-6.0.3.tgz", + "integrity": "sha512-Zfeb5ol+H+eqJWHTaGca9BovufyGeIfr4zaaBorPmJBMrJ+KBnN+kQx2ZtXdsotUTgldHmHQV44xvUWOUA7E2w==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/package-json": "^5.0.0", + "npm-package-arg": "^11.0.0", + "promzard": "^1.0.0", + "read": "^3.0.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/init-package-json/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/inline-style-parser": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", + "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==", + "license": "MIT" + }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/inquirer/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/inquirer/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ip-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-5.0.0.tgz", + "integrity": "sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bun-module": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.3.0.tgz", + "integrity": "sha512-DgXeu5UWI0IsMQundYb5UAOzm6G2eVnarJ0byP6Tm55iZNKceD59LNPA2L4VvsScTtHcw0yEkVwSf7PC+QoLSA==", + "license": "MIT", + "dependencies": { + "semver": "^7.6.3" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "license": "MIT", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-ip": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-5.0.1.tgz", + "integrity": "sha512-FCsGHdlrOnZQcp0+XT5a+pYowf33itBalCl+7ovNXC/7o5BhIpG14M3OrpPPdBSIQJCm+0M5+9mO7S9VVTTCFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ip-regex": "^5.0.0", + "super-regex": "^0.2.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-npm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", + "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-3.1.0.tgz", + "integrity": "sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ssh": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.1.tgz", + "integrity": "sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "protocols": "^2.0.1" + } + }, + "node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-text-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", + "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "text-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "license": "MIT" + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-yarn-global": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", + "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isomorphic-rslog": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/isomorphic-rslog/-/isomorphic-rslog-0.0.6.tgz", + "integrity": "sha512-HM0q6XqQ93psDlqvuViNs/Ea3hAyGDkIdVAHlrEocjjAwGrs1fZ+EdQjS9eUPacnYB7Y8SoDdSY3H8p3ce205A==", + "license": "MIT", + "engines": { + "node": ">=14.17.6" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-hook": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "append-transform": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", + "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", + "dev": true, + "license": "ISC", + "dependencies": { + "archy": "^1.0.0", + "cross-spawn": "^7.0.3", + "istanbul-lib-coverage": "^3.2.0", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/joi": { + "version": "17.13.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", + "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/jose": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/jose/-/jose-5.10.0.tgz", + "integrity": "sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/jotai": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/jotai/-/jotai-2.12.1.tgz", + "integrity": "sha512-VUW0nMPYIru5g89tdxwr9ftiVdc/nGV9jvHISN8Ucx+m1vI9dBeHemfqYzEuw5XSkmYjD/MEyApN9k6yrATsZQ==", + "license": "MIT", + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "@types/react": ">=17.0.0", + "react": ">=17.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/jotai-location": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/jotai-location/-/jotai-location-0.5.5.tgz", + "integrity": "sha512-6QW/7W9IJHjhbn7gRgAw4sC30k0/G6JiC4uPlKi8ZPZGYk7R7r9PyMD2eVhL4XSxxag89JxS1iSyr6BIXsB4Sw==", + "license": "MIT", + "peerDependencies": { + "jotai": ">=1.11.0" + } + }, + "node_modules/jpeg-exif": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/jpeg-exif/-/jpeg-exif-1.1.4.tgz", + "integrity": "sha512-a+bKEcCjtuW5WTdgeXFzswSrdqi0jk4XlEtZlx5A94wCoBpFjfFTbo/Tra5SpNCl/YFZPvcV1dJc+TAYeg6ROQ==", + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jshint": { + "version": "2.13.6", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.13.6.tgz", + "integrity": "sha512-IVdB4G0NTTeQZrBoM8C5JFVLjV2KtZ9APgybDA1MK73xb09qFs0jCXyQLnCOp1cSZZZbvhq/6mfXHUTaDkffuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli": "~1.0.0", + "console-browserify": "1.1.x", + "exit": "0.1.x", + "htmlparser2": "3.8.x", + "lodash": "~4.17.21", + "minimatch": "~3.0.2", + "strip-json-comments": "1.0.x" + }, + "bin": { + "jshint": "bin/jshint" + } + }, + "node_modules/jshint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jshint/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/jshint/node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/jshint/node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/jshint/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/jshint/node_modules/domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha512-q9bUwjfp7Eif8jWxxxPSykdRZAb6GkguBGSgvvCrhI9wB71W2K/Kvv4E61CF/mcCfnVJDeDWx/Vb/uAqbDj6UQ==", + "dev": true, + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/jshint/node_modules/domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", + "dev": true, + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/jshint/node_modules/entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha512-LbLqfXgJMmy81t+7c14mnulFHJ170cM6E+0vMXR9k/ZiZwgX8i5pNgjTCX3SO4VeUsFLV+8InixoretwU+MjBQ==", + "dev": true, + "license": "BSD-like" + }, + "node_modules/jshint/node_modules/htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha512-hBxEg3CYXe+rPIua8ETe7tmG3XDn9B0edOE/e9wH2nLczxzgdu0m0aNHY+5wFZiviLWLdANPJTssa92dMcXQ5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + } + }, + "node_modules/jshint/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jshint/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jshint/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/jshint/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jshint/node_modules/strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha512-AOPG8EBc5wAikaG1/7uFCNFJwnKOuQwFTpYBdTW6OvWHeZBQBrAA/amefHGrEiOnCPcLFZK6FUPtWVKpQVIRgg==", + "dev": true, + "license": "MIT", + "bin": { + "strip-json-comments": "cli.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "license": "MIT" + }, + "node_modules/json-fixer": { + "version": "1.6.15", + "resolved": "https://registry.npmjs.org/json-fixer/-/json-fixer-1.6.15.tgz", + "integrity": "sha512-TuDuZ5KrgyjoCIppdPXBMqiGfota55+odM+j2cQ5rt/XKyKmqGB3Whz1F8SN8+60yYGy/Nu5lbRZ+rx8kBIvBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.9", + "chalk": "^4.1.2", + "pegjs": "^0.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", + "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "license": "MIT" + }, + "node_modules/json-stringify-nice": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz", + "integrity": "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==", + "dev": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "license": "ISC" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-eslint-parser": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz", + "integrity": "sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.5.0", + "eslint-visitor-keys": "^3.0.0", + "espree": "^9.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + } + }, + "node_modules/jsonc-eslint-parser/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/jsonc-eslint-parser/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "license": "MIT", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/just-diff": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-6.0.2.tgz", + "integrity": "sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==", + "dev": true, + "license": "MIT" + }, + "node_modules/just-diff-apply": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.5.0.tgz", + "integrity": "sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/just-extend": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", + "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", + "dev": true, + "license": "MIT" + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "license": "MIT", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/keygrip": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", + "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==", + "license": "MIT", + "dependencies": { + "tsscmp": "1.0.6" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/koa": { + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.16.0.tgz", + "integrity": "sha512-Afhqq0Vq3W7C+/rW6IqHVBDLzqObwZ07JaUNUEF8yCQ6afiyFE3RAy+i7V0E46XOWlH7vPWn/x0vsZwNy6PWxw==", + "license": "MIT", + "dependencies": { + "accepts": "^1.3.5", + "cache-content-type": "^1.0.0", + "content-disposition": "~0.5.2", + "content-type": "^1.0.4", + "cookies": "~0.9.0", + "debug": "^4.3.2", + "delegates": "^1.0.0", + "depd": "^2.0.0", + "destroy": "^1.0.4", + "encodeurl": "^1.0.2", + "escape-html": "^1.0.3", + "fresh": "~0.5.2", + "http-assert": "^1.3.0", + "http-errors": "^1.6.3", + "is-generator-function": "^1.0.7", + "koa-compose": "^4.1.0", + "koa-convert": "^2.0.0", + "on-finished": "^2.3.0", + "only": "~0.0.2", + "parseurl": "^1.3.2", + "statuses": "^1.5.0", + "type-is": "^1.6.16", + "vary": "^1.1.2" + }, + "engines": { + "node": "^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4" + } + }, + "node_modules/koa-compose": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz", + "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==", + "license": "MIT" + }, + "node_modules/koa-convert": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-2.0.0.tgz", + "integrity": "sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==", + "license": "MIT", + "dependencies": { + "co": "^4.6.0", + "koa-compose": "^4.1.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/koa/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/koa/node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/koa/node_modules/http-errors/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/koa/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/latest-version": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", + "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", + "license": "MIT", + "dependencies": { + "package-json": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/launch-editor": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.10.0.tgz", + "integrity": "sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==", + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/lerna": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/lerna/-/lerna-8.2.0.tgz", + "integrity": "sha512-SLXPPUqU1V6m8pGVNYp8CpqGX92U2fp6XFWQsQMY36VTCGVP/5dGtri4hd2sgk2hcBuFPnxycgEnJecT2MQUsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@lerna/create": "8.2.0", + "@npmcli/arborist": "7.5.4", + "@npmcli/package-json": "5.2.0", + "@npmcli/run-script": "8.1.0", + "@nx/devkit": ">=17.1.2 < 21", + "@octokit/plugin-enterprise-rest": "6.0.1", + "@octokit/rest": "19.0.11", + "aproba": "2.0.0", + "byte-size": "8.1.1", + "chalk": "4.1.0", + "clone-deep": "4.0.1", + "cmd-shim": "6.0.3", + "color-support": "1.1.3", + "columnify": "1.6.0", + "console-control-strings": "^1.1.0", + "conventional-changelog-angular": "7.0.0", + "conventional-changelog-core": "5.0.1", + "conventional-recommended-bump": "7.0.1", + "cosmiconfig": "9.0.0", + "dedent": "1.5.3", + "envinfo": "7.13.0", + "execa": "5.0.0", + "fs-extra": "^11.2.0", + "get-port": "5.1.1", + "get-stream": "6.0.0", + "git-url-parse": "14.0.0", + "glob-parent": "6.0.2", + "globby": "11.1.0", + "graceful-fs": "4.2.11", + "has-unicode": "2.0.1", + "import-local": "3.1.0", + "ini": "^1.3.8", + "init-package-json": "6.0.3", + "inquirer": "^8.2.4", + "is-ci": "3.0.1", + "is-stream": "2.0.0", + "jest-diff": ">=29.4.3 < 30", + "js-yaml": "4.1.0", + "libnpmaccess": "8.0.6", + "libnpmpublish": "9.0.9", + "load-json-file": "6.2.0", + "lodash": "^4.17.21", + "make-dir": "4.0.0", + "minimatch": "3.0.5", + "multimatch": "5.0.0", + "node-fetch": "2.6.7", + "npm-package-arg": "11.0.2", + "npm-packlist": "8.0.2", + "npm-registry-fetch": "^17.1.0", + "nx": ">=17.1.2 < 21", + "p-map": "4.0.0", + "p-map-series": "2.1.0", + "p-pipe": "3.1.0", + "p-queue": "6.6.2", + "p-reduce": "2.1.0", + "p-waterfall": "2.1.1", + "pacote": "^18.0.6", + "pify": "5.0.0", + "read-cmd-shim": "4.0.0", + "resolve-from": "5.0.0", + "rimraf": "^4.4.1", + "semver": "^7.3.8", + "set-blocking": "^2.0.0", + "signal-exit": "3.0.7", + "slash": "3.0.0", + "ssri": "^10.0.6", + "string-width": "^4.2.3", + "strong-log-transformer": "2.1.0", + "tar": "6.2.1", + "temp-dir": "1.0.0", + "typescript": ">=3 < 6", + "upath": "2.0.1", + "uuid": "^10.0.0", + "validate-npm-package-license": "3.0.4", + "validate-npm-package-name": "5.0.1", + "wide-align": "1.1.5", + "write-file-atomic": "5.0.1", + "write-pkg": "4.0.0", + "yargs": "17.7.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "lerna": "dist/cli.js" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/lerna/node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/lerna/node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lerna/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/lerna/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/lerna/node_modules/dedent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/lerna/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/lerna/node_modules/execa": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", + "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/lerna/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lerna/node_modules/get-stream": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", + "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lerna/node_modules/glob": { + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", + "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/lerna/node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/lerna/node_modules/glob/node_modules/minimatch": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", + "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/lerna/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/lerna/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/lerna/node_modules/inquirer": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/lerna/node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/lerna/node_modules/is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/lerna/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lerna/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/lerna/node_modules/minipass": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/lerna/node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/lerna/node_modules/npm-package-arg": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.2.tgz", + "integrity": "sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^7.0.0", + "proc-log": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/lerna/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lerna/node_modules/rimraf": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz", + "integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^9.2.0" + }, + "bin": { + "rimraf": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/lerna/node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/lerna/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lerna/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/lerna/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/lerna/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lerna/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/libnpmaccess": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-8.0.6.tgz", + "integrity": "sha512-uM8DHDEfYG6G5gVivVl+yQd4pH3uRclHC59lzIbSvy7b5FEwR+mU49Zq1jEyRtRFv7+M99mUW9S0wL/4laT4lw==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^11.0.2", + "npm-registry-fetch": "^17.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/libnpmaccess/node_modules/npm-package-arg": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz", + "integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^7.0.0", + "proc-log": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/libnpmaccess/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/libnpmpublish": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-9.0.9.tgz", + "integrity": "sha512-26zzwoBNAvX9AWOPiqqF6FG4HrSCPsHFkQm7nT+xU1ggAujL/eae81RnCv4CJ2In9q9fh10B88sYSzKCUh/Ghg==", + "dev": true, + "license": "ISC", + "dependencies": { + "ci-info": "^4.0.0", + "normalize-package-data": "^6.0.1", + "npm-package-arg": "^11.0.2", + "npm-registry-fetch": "^17.0.1", + "proc-log": "^4.2.0", + "semver": "^7.3.7", + "sigstore": "^2.2.0", + "ssri": "^10.0.6" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/libnpmpublish/node_modules/ci-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.1.0.tgz", + "integrity": "sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/libnpmpublish/node_modules/npm-package-arg": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz", + "integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^7.0.0", + "proc-log": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/libnpmpublish/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lightningcss": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.29.1.tgz", + "integrity": "sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.29.1", + "lightningcss-darwin-x64": "1.29.1", + "lightningcss-freebsd-x64": "1.29.1", + "lightningcss-linux-arm-gnueabihf": "1.29.1", + "lightningcss-linux-arm64-gnu": "1.29.1", + "lightningcss-linux-arm64-musl": "1.29.1", + "lightningcss-linux-x64-gnu": "1.29.1", + "lightningcss-linux-x64-musl": "1.29.1", + "lightningcss-win32-arm64-msvc": "1.29.1", + "lightningcss-win32-x64-msvc": "1.29.1" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.1.tgz", + "integrity": "sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.29.1.tgz", + "integrity": "sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.29.1.tgz", + "integrity": "sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.29.1.tgz", + "integrity": "sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.29.1.tgz", + "integrity": "sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.29.1.tgz", + "integrity": "sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.29.1.tgz", + "integrity": "sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.29.1.tgz", + "integrity": "sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.29.1.tgz", + "integrity": "sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.29.1.tgz", + "integrity": "sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/linebreak": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz", + "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==", + "license": "MIT", + "dependencies": { + "base64-js": "0.0.8", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/linebreak/node_modules/base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/lines-and-columns": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", + "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/lint-staged": { + "version": "15.4.3", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.4.3.tgz", + "integrity": "sha512-FoH1vOeouNh1pw+90S+cnuoFwRfUD9ijY2GKy5h7HS3OR7JVir2N2xrsa0+Twc1B7cW72L+88geG5cW4wIhn7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.4.1", + "commander": "^13.1.0", + "debug": "^4.4.0", + "execa": "^8.0.1", + "lilconfig": "^3.1.3", + "listr2": "^8.2.5", + "micromatch": "^4.0.8", + "pidtree": "^0.6.0", + "string-argv": "^0.3.2", + "yaml": "^2.7.0" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/lint-staged/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.5.tgz", + "integrity": "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/listr2/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/listr2/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/listr2/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/listr2/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/load-json-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", + "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.15", + "parse-json": "^5.0.0", + "strip-bom": "^4.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/load-json-file/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "license": "MIT", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" + }, + "node_modules/lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "deprecated": "This package is deprecated. Use the optional chaining (?.) operator instead.", + "license": "MIT" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" + }, + "node_modules/lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT" + }, + "node_modules/lodash.mergewith": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" + }, + "node_modules/lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==", + "license": "MIT" + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" + }, + "node_modules/lodash.unset": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.unset/-/lodash.unset-4.5.2.tgz", + "integrity": "sha512-bwKX88k2JhCV9D1vtE8+naDKlLiGrSmf8zi/Y9ivFHwbmRfA8RxS/aVJ+sIht2XOwqoNr4xUPUkGZpc1sHFEKg==", + "license": "MIT" + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/long": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.1.tgz", + "integrity": "sha512-ka87Jz3gcx/I7Hal94xaN2tZEOPoUOEVftkQqZx2EeQRN7LGdfLlI3FvZ+7WDplm+vK2Urx9ULrvSowtdCieng==", + "license": "Apache-2.0" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/loupe": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz", + "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==", + "dev": true, + "license": "MIT" + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/luxon": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.5.0.tgz", + "integrity": "sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/make-fetch-happen": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz", + "integrity": "sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", + "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", + "license": "MIT", + "dependencies": { + "repeat-string": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdast-util-directive": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz", + "integrity": "sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-directive/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-directive/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/mdast-util-directive/node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-directive/node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-directive/node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-directive/node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-directive/node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-directive/node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-directive/node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-directive/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-directive/node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-directive/node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-directive/node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/mdast-util-directive/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-frontmatter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", + "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "escape-string-regexp": "^5.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-frontmatter/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-frontmatter/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-frontmatter/node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-frontmatter/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-frontmatter/node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-frontmatter/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-gfm-footnote/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/mdast-util-gfm-footnote/node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote/node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-gfm-footnote/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-gfm-strikethrough/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/mdast-util-gfm-strikethrough/node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough/node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-gfm-strikethrough/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-gfm-table/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/mdast-util-gfm-table/node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table/node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-gfm-table/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-gfm-task-list-item/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/mdast-util-gfm-task-list-item/node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item/node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-gfm-task-list-item/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-gfm/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm/node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-gfm/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/mdast-util-mdx-expression/node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/mdast-util-mdx-jsx/node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/mdast-util-mdx-jsx/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-mdx/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/mdast-util-mdx/node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx/node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-mdx/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-to-markdown/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/mdast-util-to-markdown/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, + "node_modules/meow": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.2.tgz", + "integrity": "sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz", + "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-directive/node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/micromark-extension-directive/node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/micromark-extension-directive/node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/micromark-extension-directive/node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/micromark-extension-directive/node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/micromark-extension-directive/node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/micromark-extension-directive/node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/micromark-extension-frontmatter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", + "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", + "license": "MIT", + "dependencies": { + "fault": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", + "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.1.tgz", + "integrity": "sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==", + "license": "MIT", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.2.tgz", + "integrity": "sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", + "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-events-to-acorn/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.4.tgz", + "integrity": "sha512-N6hXjrin2GTJDe3MVjf5FuXpm12PGm80BrUAeub9XFXca8JZbP+oIwY4LJSVwFUCL1IPm/WwSVUN7goFHmSGGQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.1.tgz", + "integrity": "sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", + "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", + "license": "MIT", + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minimist-options/node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/minimist-options/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-fetch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", + "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/mocha-steps": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mocha-steps/-/mocha-steps-1.3.0.tgz", + "integrity": "sha512-KZvpMJTqzLZw3mOb+EEuYi4YZS41C9iTnb7skVFRxHjUd1OYbl64tCMSmpdIRM9LnwIrSOaRfPtNpF5msgv6Eg==", + "dev": true, + "license": "MIT" + }, + "node_modules/mocha/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/mocha/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/mocha/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/mocha/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multimatch": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", + "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/multimatch/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/multimatch/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mustache": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "license": "MIT", + "bin": { + "mustache": "bin/mustache" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true, + "license": "ISC" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT" + }, + "node_modules/nise": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/nise/-/nise-6.1.1.tgz", + "integrity": "sha512-aMSAzLVY7LyeM60gvBS423nBmIPP+Wy7St7hsb+8/fc1HmeoHJfLO8CKse4u3BtOZvQLJghYPI2i/1WZrEj5/g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1", + "@sinonjs/fake-timers": "^13.0.1", + "@sinonjs/text-encoding": "^0.7.3", + "just-extend": "^6.2.0", + "path-to-regexp": "^8.1.0" + } + }, + "node_modules/nise/node_modules/@sinonjs/fake-timers": { + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", + "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-emoji": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.2.0.tgz", + "integrity": "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==", + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^4.6.0", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/node-emoji/node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-gyp": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.3.1.tgz", + "integrity": "sha512-Pp3nFHBThHzVtNY7U6JfPjvT/DTE8+o/4xKsLQtBoU+j2HLsGlhcfzflAoUreaJbNmYnX+LlLi0qjV8kpyO6xQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^13.0.0", + "nopt": "^7.0.0", + "proc-log": "^4.1.0", + "semver": "^7.3.5", + "tar": "^6.2.1", + "which": "^4.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/node-gyp/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/node-gyp/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/node-jose": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-jose/-/node-jose-2.2.0.tgz", + "integrity": "sha512-XPCvJRr94SjLrSIm4pbYHKLEaOsDvJCpyFw/6V/KK/IXmyZ6SFBzAUDO9HQf4DB/nTEFcRGH87mNciOP23kFjw==", + "license": "Apache-2.0", + "dependencies": { + "base64url": "^3.0.1", + "buffer": "^6.0.3", + "es6-promise": "^4.2.8", + "lodash": "^4.17.21", + "long": "^5.2.0", + "node-forge": "^1.2.1", + "pako": "^2.0.4", + "process": "^0.11.10", + "uuid": "^9.0.0" + } + }, + "node_modules/node-jose/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/node-jose/node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "license": "(MIT AND Zlib)" + }, + "node_modules/node-jose/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/node-machine-id": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz", + "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-preload": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "process-on-spawn": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "license": "MIT" + }, + "node_modules/nodemon": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.0.tgz", + "integrity": "sha512-xqlktYlDMCepBJd43ZQhjWwMw2obW/JRvkrLxq5RCNcuDDX1DbcPT+qT1IlIIdf+DhnWs90JpTMe+Y5KxOchvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^4", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/nodemon/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nodemon/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nodemon/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/nodemon/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nopt": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-package-data": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", + "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-bundled": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.1.tgz", + "integrity": "sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-install-checks": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", + "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-install-checks/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-package-arg": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", + "integrity": "sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-package-arg/node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-package-arg/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-packlist": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz", + "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", + "dev": true, + "license": "ISC", + "dependencies": { + "ignore-walk": "^6.0.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.1.0.tgz", + "integrity": "sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^11.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-registry-fetch": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-17.1.0.tgz", + "integrity": "sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/redact": "^2.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^13.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minizlib": "^2.1.2", + "npm-package-arg": "^11.0.0", + "proc-log": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", + "license": "MIT" + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/null-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-4.0.1.tgz", + "integrity": "sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/null-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/null-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/null-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/null-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/nx": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/nx/-/nx-20.2.1.tgz", + "integrity": "sha512-zUw1DT9BW2ajbDZgcUFKfysGqrbJwsMRjPxT6GthuqcLtDc2iJi3+/UBTLsITSeiw4Za4qPVxjaK4+yma9Ju5w==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@napi-rs/wasm-runtime": "0.2.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "3.0.2", + "@zkochan/js-yaml": "0.0.7", + "axios": "^1.7.4", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^8.0.1", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "enquirer": "~2.3.6", + "figures": "3.2.0", + "flat": "^5.0.2", + "front-matter": "^4.0.2", + "ignore": "^5.0.4", + "jest-diff": "^29.4.1", + "jsonc-parser": "3.2.0", + "lines-and-columns": "2.0.3", + "minimatch": "9.0.3", + "node-machine-id": "1.1.12", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "ora": "5.3.0", + "semver": "^7.5.3", + "string-width": "^4.2.3", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "yaml": "^2.6.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js", + "nx-cloud": "bin/nx-cloud.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "20.2.1", + "@nx/nx-darwin-x64": "20.2.1", + "@nx/nx-freebsd-x64": "20.2.1", + "@nx/nx-linux-arm-gnueabihf": "20.2.1", + "@nx/nx-linux-arm64-gnu": "20.2.1", + "@nx/nx-linux-arm64-musl": "20.2.1", + "@nx/nx-linux-x64-gnu": "20.2.1", + "@nx/nx-linux-x64-musl": "20.2.1", + "@nx/nx-win32-arm64-msvc": "20.2.1", + "@nx/nx-win32-x64-msvc": "20.2.1" + }, + "peerDependencies": { + "@swc-node/register": "^1.8.0", + "@swc/core": "^1.3.85" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/nx/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/nx/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nx/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/nyc": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", + "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^2.0.0", + "get-package-type": "^0.1.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "make-dir": "^3.0.0", + "node-preload": "^0.2.1", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "yargs": "^15.0.2" + }, + "bin": { + "nyc": "bin/nyc.js" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/nyc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/nyc/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/nyc/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/nyc/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/nyc/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nyc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nyc/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nyc/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/nyc/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/nyc/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "license": "MIT" + }, + "node_modules/oidc-provider": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/oidc-provider/-/oidc-provider-8.8.1.tgz", + "integrity": "sha512-qVChpayTwojUREJxLkFofUSK8kiSRIdzPrVSsoGibqRHl/YO60ege94OZS8vh7zaK+zxcG/Gu8UMaYB5ulohCQ==", + "license": "MIT", + "dependencies": { + "@koa/cors": "^5.0.0", + "@koa/router": "^13.1.0", + "debug": "^4.4.0", + "eta": "^3.5.0", + "got": "^13.0.0", + "jose": "^5.9.6", + "jsesc": "^3.1.0", + "koa": "^2.15.4", + "nanoid": "^5.0.9", + "object-hash": "^3.0.0", + "oidc-token-hash": "^5.0.3", + "quick-lru": "^7.0.0", + "raw-body": "^3.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/oidc-provider/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/oidc-provider/node_modules/eta": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-3.5.0.tgz", + "integrity": "sha512-e3x3FBvGzeCIHhF+zhK8FZA2vC5uFn6b4HJjegUbIWrDb4mJ7JjTGMJY9VGIbRVpmSwHopNiaJibhjIr+HfLug==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/oidc-provider/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/oidc-provider/node_modules/got": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/got/-/got-13.0.0.tgz", + "integrity": "sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==", + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/oidc-provider/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/oidc-provider/node_modules/nanoid": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.5.tgz", + "integrity": "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/oidc-provider/node_modules/quick-lru": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-7.0.0.tgz", + "integrity": "sha512-MX8gB7cVYTrYcFfAnfLlhRd0+Toyl8yX8uBx1MrX7K0jegiz9TumwOK27ldXrgDlHRdVi+MqU9Ssw6dr4BNreg==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/oidc-provider/node_modules/raw-body": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", + "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.6.3", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/oidc-token-hash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.1.0.tgz", + "integrity": "sha512-y0W+X7Ppo7oZX6eovsRkuzcSM40Bicg2JEJkDJ4irIt1wsYAP5MLSNv+QAogO8xivMffw/9OvV3um1pxXgt1uA==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || >=12.0.0" + } + }, + "node_modules/on-exit-leak-free": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", + "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/only": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz", + "integrity": "sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==" + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", + "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "log-symbols": "^4.0.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/orgdocs": { + "resolved": "sites/org", + "link": true + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/otplib": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/otplib/-/otplib-12.0.1.tgz", + "integrity": "sha512-xDGvUOQjop7RDgxTQ+o4pOol0/3xSZzawTiPKRrHnQWAy0WjhNs/5HdIDJCrqC4MBynmjXgULc6YfioaxZeFgg==", + "license": "MIT", + "dependencies": { + "@otplib/core": "^12.0.1", + "@otplib/preset-default": "^12.0.1", + "@otplib/preset-v11": "^12.0.1" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "license": "MIT", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map-series": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-2.1.0.tgz", + "integrity": "sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-pipe": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", + "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true, + "license": "MIT" + }, + "node_modules/p-reduce": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz", + "integrity": "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/p-waterfall": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-waterfall/-/p-waterfall-2.1.1.tgz", + "integrity": "sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-reduce": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-hash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.15", + "hasha": "^5.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/package-json": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", + "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", + "license": "MIT", + "dependencies": { + "got": "^12.1.0", + "registry-auth-token": "^5.0.1", + "registry-url": "^6.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/package-json/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pacote": { + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-18.0.6.tgz", + "integrity": "sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^5.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/package-json": "^5.1.0", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^8.0.0", + "cacache": "^18.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^11.0.0", + "npm-packlist": "^8.0.0", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^17.0.0", + "proc-log": "^4.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^2.2.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "license": "MIT" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-conflict-json": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz", + "integrity": "sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==", + "dev": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "just-diff": "^6.0.0", + "just-diff-apply": "^5.2.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-json/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/parse-json/node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-latin/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-numeric-range": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", + "license": "ISC" + }, + "node_modules/parse-path": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.1.tgz", + "integrity": "sha512-6ReLMptznuuOEzLoGEa+I1oWRSj2Zna5jLWC+l6zlfAI4dbbSaIES29ThzuPkbhNahT65dWzfoZEO6cfJw2Ksg==", + "dev": true, + "license": "MIT", + "dependencies": { + "protocols": "^2.0.0" + } + }, + "node_modules/parse-url": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz", + "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-path": "^7.0.0" + } + }, + "node_modules/parse5": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "license": "MIT", + "dependencies": { + "entities": "^4.5.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", + "license": "MIT", + "dependencies": { + "domhandler": "^5.0.3", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/passport": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.7.0.tgz", + "integrity": "sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ==", + "license": "MIT", + "dependencies": { + "passport-strategy": "1.x.x", + "pause": "0.0.1", + "utils-merge": "^1.0.1" + }, + "engines": { + "node": ">= 0.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jaredhanson" + } + }, + "node_modules/passport-http": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/passport-http/-/passport-http-0.3.0.tgz", + "integrity": "sha512-OwK9DkqGVlJfO8oD0Bz1VDIo+ijD3c1ZbGGozIZw+joIP0U60pXY7goB+8wiDWtNqHpkTaQiJ9Ux1jE3Ykmpuw==", + "dependencies": { + "passport-strategy": "1.x.x" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/passport-jwt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/passport-jwt/-/passport-jwt-4.0.1.tgz", + "integrity": "sha512-UCKMDYhNuGOBE9/9Ycuoyh7vP6jpeTp/+sfMJl7nLff/t6dps+iaeE0hhNkKN8/HZHcJ7lCdOyDxHdDoxoSvdQ==", + "license": "MIT", + "dependencies": { + "jsonwebtoken": "^9.0.0", + "passport-strategy": "^1.0.0" + } + }, + "node_modules/passport-strategy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", + "integrity": "sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "license": "(WTFPL OR MIT)" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/path-to-regexp": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", + "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16" + } + }, + "node_modules/pause": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", + "integrity": "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==" + }, + "node_modules/pdfkit": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.16.0.tgz", + "integrity": "sha512-oXMxkIqXH4uTAtohWdYA41i/f6i2ReB78uhgizN8H4hJEpgR3/Xjy3iu2InNAuwCIabN3PVs8P1D6G4+W2NH0A==", + "license": "MIT", + "dependencies": { + "crypto-js": "^4.2.0", + "fontkit": "^2.0.4", + "jpeg-exif": "^1.1.4", + "linebreak": "^1.1.0", + "png-js": "^1.0.0" + } + }, + "node_modules/pegjs": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz", + "integrity": "sha512-qI5+oFNEGi3L5HAxDwN2LA4Gg7irF70Zs25edhjld9QemOgp0CbvMtbFcMvFtEo1OityPrcCzkQFB8JP/hxgow==", + "dev": true, + "license": "MIT", + "bin": { + "pegjs": "bin/pegjs" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pino": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-9.2.0.tgz", + "integrity": "sha512-g3/hpwfujK5a4oVbaefoJxezLzsDgLcNJeITvC6yrfwYeT9la+edCK42j5QpEQSQCZgTKapXvnQIdgZwvRaZug==", + "license": "MIT", + "dependencies": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.1.1", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^1.2.0", + "pino-std-serializers": "^7.0.0", + "process-warning": "^3.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^4.0.1", + "thread-stream": "^3.0.0" + }, + "bin": { + "pino": "bin.js" + } + }, + "node_modules/pino-abstract-transport": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.2.0.tgz", + "integrity": "sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==", + "license": "MIT", + "dependencies": { + "readable-stream": "^4.0.0", + "split2": "^4.0.0" + } + }, + "node_modules/pino-abstract-transport/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/pino-abstract-transport/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/pino-std-serializers": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz", + "integrity": "sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==", + "license": "MIT" + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-conf": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", + "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0", + "load-json-file": "^5.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/load-json-file": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", + "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.15", + "parse-json": "^4.0.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0", + "type-fest": "^0.3.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-conf/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-conf/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pkg-conf/node_modules/type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/png-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", + "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==" + }, + "node_modules/pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz", + "integrity": "sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-attribute-case-insensitive/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-calc": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", + "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.7.tgz", + "integrity": "sha512-EZvAHsvyASX63vXnyXOIynkxhaHRSsdb7z6yiXKIovGXAolW4cMZ3qoh7k3VdTsLBS6VGdksGfIo3r6+waLoOw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.7", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-10.0.0.tgz", + "integrity": "sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-10.0.0.tgz", + "integrity": "sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-colormin": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", + "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "colord": "^2.9.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-convert-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", + "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-custom-media": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-11.0.5.tgz", + "integrity": "sha512-SQHhayVNgDvSAdX9NQ/ygcDQGEY+aSF4b/96z7QUX6mqL5yl/JgG/DywcF6fW9XbnCRE+aVYk+9/nqGuzOPWeQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/media-query-list-parser": "^4.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-properties": { + "version": "14.0.4", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-14.0.4.tgz", + "integrity": "sha512-QnW8FCCK6q+4ierwjnmXF9Y9KF8q0JkbgVfvQEMa93x1GT8FvOiUevWCN2YLaOWyByeDX8S6VFbZEeWoAoXs2A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-8.0.4.tgz", + "integrity": "sha512-ASOXqNvDCE0dAJ/5qixxPeL1aOVGHGW2JwSy7HyjWNbnWTQCl+fDc968HY1jCmZI0+BaYT5CxsOiUhavpG/7eg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/cascade-layer-name-parser": "^2.0.4", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-9.0.1.tgz", + "integrity": "sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-discard-comments": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", + "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", + "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-empty": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", + "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", + "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-discard-unused": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", + "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.0.tgz", + "integrity": "sha512-JkIGah3RVbdSEIrcobqj4Gzq0h53GG4uqDPsho88SgY84WnpkTpI0k50MFK/sX7XqVisZ6OqUfFnoUO6m1WWdg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-10.0.1.tgz", + "integrity": "sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-visible/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-focus-within": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-9.0.1.tgz", + "integrity": "sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-6.0.0.tgz", + "integrity": "sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-image-set-function": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-7.0.0.tgz", + "integrity": "sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/utilities": "^2.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-lab-function": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.7.tgz", + "integrity": "sha512-+ONj2bpOQfsCKZE2T9VGMyVVdGcGUpr7u3SVfvkJlvhTRmDCfY25k4Jc8fubB9DclAPR4+w8uVtDZmdRgdAHig==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-color-parser": "^3.0.7", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/utilities": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-loader": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", + "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.3.5", + "jiti": "^1.20.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-loader/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/postcss-loader/node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/postcss-loader/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-logical": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-8.0.0.tgz", + "integrity": "sha512-HpIdsdieClTjXLOyYdUPAX/XQASNIwdKt5hoZW08ZOAiI+tbV0ta1oclkpVkW5ANU+xJvk3KkA0FejkjGLXUkg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-merge-idents": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", + "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", + "license": "MIT", + "dependencies": { + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", + "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^6.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-merge-rules": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", + "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^4.0.2", + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", + "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", + "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", + "license": "MIT", + "dependencies": { + "colord": "^2.9.3", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-params": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", + "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", + "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nesting": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.1.tgz", + "integrity": "sha512-VbqqHkOBOt4Uu3G8Dm8n6lU5+9cJFxiuty9+4rcoyRPO9zZS1JIs6td49VIoix3qYqELHlJIn46Oih9SAKo+yQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/selector-resolve-nested": "^3.0.0", + "@csstools/selector-specificity": "^5.0.0", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-nesting/node_modules/@csstools/selector-resolve-nested": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.0.0.tgz", + "integrity": "sha512-ZoK24Yku6VJU1gS79a5PFmC8yn3wIapiKmPgun0hZgEI5AOqgH2kiPRsPz1qkGv4HL+wuDLH83yQyk6inMYrJQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/postcss-nesting/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/postcss-nesting/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", + "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", + "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", + "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", + "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-string": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", + "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", + "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", + "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-url": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", + "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", + "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-3.0.0.tgz", + "integrity": "sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-ordered-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", + "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", + "license": "MIT", + "dependencies": { + "cssnano-utils": "^4.0.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-6.0.0.tgz", + "integrity": "sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-10.0.0.tgz", + "integrity": "sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-preset-env": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.1.4.tgz", + "integrity": "sha512-awWKS3CwyY7I4Eb3YSWOZisbj3qXyuQCrylYiu2vSHxnSZAj3LHStN6jOcpCrc6EjYunLwbeNto3M5/JBtXpzg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/postcss-cascade-layers": "^5.0.1", + "@csstools/postcss-color-function": "^4.0.7", + "@csstools/postcss-color-mix-function": "^3.0.7", + "@csstools/postcss-content-alt-text": "^2.0.4", + "@csstools/postcss-exponential-functions": "^2.0.6", + "@csstools/postcss-font-format-keywords": "^4.0.0", + "@csstools/postcss-gamut-mapping": "^2.0.7", + "@csstools/postcss-gradients-interpolation-method": "^5.0.7", + "@csstools/postcss-hwb-function": "^4.0.7", + "@csstools/postcss-ic-unit": "^4.0.0", + "@csstools/postcss-initial": "^2.0.1", + "@csstools/postcss-is-pseudo-class": "^5.0.1", + "@csstools/postcss-light-dark-function": "^2.0.7", + "@csstools/postcss-logical-float-and-clear": "^3.0.0", + "@csstools/postcss-logical-overflow": "^2.0.0", + "@csstools/postcss-logical-overscroll-behavior": "^2.0.0", + "@csstools/postcss-logical-resize": "^3.0.0", + "@csstools/postcss-logical-viewport-units": "^3.0.3", + "@csstools/postcss-media-minmax": "^2.0.6", + "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.4", + "@csstools/postcss-nested-calc": "^4.0.0", + "@csstools/postcss-normalize-display-values": "^4.0.0", + "@csstools/postcss-oklab-function": "^4.0.7", + "@csstools/postcss-progressive-custom-properties": "^4.0.0", + "@csstools/postcss-random-function": "^1.0.2", + "@csstools/postcss-relative-color-syntax": "^3.0.7", + "@csstools/postcss-scope-pseudo-class": "^4.0.1", + "@csstools/postcss-sign-functions": "^1.1.1", + "@csstools/postcss-stepped-value-functions": "^4.0.6", + "@csstools/postcss-text-decoration-shorthand": "^4.0.1", + "@csstools/postcss-trigonometric-functions": "^4.0.6", + "@csstools/postcss-unset-value": "^4.0.0", + "autoprefixer": "^10.4.19", + "browserslist": "^4.24.4", + "css-blank-pseudo": "^7.0.1", + "css-has-pseudo": "^7.0.2", + "css-prefers-color-scheme": "^10.0.0", + "cssdb": "^8.2.3", + "postcss-attribute-case-insensitive": "^7.0.1", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^7.0.7", + "postcss-color-hex-alpha": "^10.0.0", + "postcss-color-rebeccapurple": "^10.0.0", + "postcss-custom-media": "^11.0.5", + "postcss-custom-properties": "^14.0.4", + "postcss-custom-selectors": "^8.0.4", + "postcss-dir-pseudo-class": "^9.0.1", + "postcss-double-position-gradients": "^6.0.0", + "postcss-focus-visible": "^10.0.1", + "postcss-focus-within": "^9.0.1", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^6.0.0", + "postcss-image-set-function": "^7.0.0", + "postcss-lab-function": "^7.0.7", + "postcss-logical": "^8.0.0", + "postcss-nesting": "^13.0.1", + "postcss-opacity-percentage": "^3.0.0", + "postcss-overflow-shorthand": "^6.0.0", + "postcss-page-break": "^3.0.4", + "postcss-place": "^10.0.0", + "postcss-pseudo-class-any-link": "^10.0.1", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^8.0.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-10.0.1.tgz", + "integrity": "sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-reduce-idents": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", + "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", + "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", + "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-8.0.1.tgz", + "integrity": "sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-selector-not/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-sort-media-queries": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", + "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", + "license": "MIT", + "dependencies": { + "sort-css-media-queries": "2.2.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.4.23" + } + }, + "node_modules/postcss-svgo": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", + "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^3.2.0" + }, + "engines": { + "node": "^14 || ^16 || >= 18" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", + "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/postcss-zindex": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", + "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.2.tgz", + "integrity": "sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-ms": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", + "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", + "license": "MIT", + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-quick": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-4.0.0.tgz", + "integrity": "sha512-M+2MmeufXb/M7Xw3Afh1gxcYpj+sK0AxEfnfF958ktFeAyi5MsKY5brymVURQLgPLV1QaF5P4pb2oFJ54H3yzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.1.1", + "find-up": "^5.0.0", + "ignore": "^5.3.0", + "mri": "^1.2.0", + "picocolors": "^1.0.0", + "picomatch": "^3.0.1", + "tslib": "^2.6.2" + }, + "bin": { + "pretty-quick": "lib/cli.mjs" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "prettier": "^3.0.0" + } + }, + "node_modules/pretty-quick/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/pretty-quick/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-quick/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-quick/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/pretty-quick/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-quick/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-quick/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-quick/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-quick/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/picomatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz", + "integrity": "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pretty-quick/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/pretty-quick/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pretty-quick/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/prism-react-renderer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz", + "integrity": "sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==", + "license": "MIT", + "dependencies": { + "@types/prismjs": "^1.26.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.0.0" + } + }, + "node_modules/prisma": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.15.0.tgz", + "integrity": "sha512-JA81ACQSCi3a7NUOgonOIkdx8PAVkO+HbUOxmd00Yb8DgIIEpr2V9+Qe/j6MLxIgWtE/OtVQ54rVjfYRbZsCfw==", + "devOptional": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/engines": "5.15.0" + }, + "bin": { + "prisma": "build/index.js" + }, + "engines": { + "node": ">=16.13" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/proc-log": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/process-on-spawn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.1.0.tgz", + "integrity": "sha512-JOnOPQ/8TZgjs1JIH/m9ni7FfimjNa/PRx7y/Wb5qdItsnhO0jE4AT7fC0HjC28DUQWDr50dwSYZLdRMlqDq3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "fromentries": "^1.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/process-warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", + "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==", + "license": "MIT" + }, + "node_modules/proggy": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/proggy/-/proggy-2.0.0.tgz", + "integrity": "sha512-69agxLtnI8xBs9gUGqEnK26UfiexpHy+KUpBQWabiytQjnn5wFY8rklAi7GRfABIuPNnQ/ik48+LGLkYYJcy4A==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/promise-all-reject-late": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz", + "integrity": "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==", + "dev": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/promise-call-limit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-3.0.2.tgz", + "integrity": "sha512-mRPQO2T1QQVw11E7+UdCJu7S61eJVWknzml9sC1heAdj1jxl0fWMBypIt9ZOcLFf8FkG995ZD7RnVk7HH72fZw==", + "dev": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/promzard": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/promzard/-/promzard-1.0.2.tgz", + "integrity": "sha512-2FPputGL+mP3jJ3UZg/Dl9YOkovB7DX0oOr+ck5QbZ5MtORtds8k/BZdn+02peDLI8/YWbmzx34k5fA+fHvCVQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "read": "^3.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/property-information": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.0.0.tgz", + "integrity": "sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "license": "ISC" + }, + "node_modules/protocols": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.2.tgz", + "integrity": "sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true, + "license": "MIT" + }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true, + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pupa": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", + "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", + "license": "MIT", + "dependencies": { + "escape-goat": "^4.0.0" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/qrcode": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz", + "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", + "license": "MIT", + "dependencies": { + "dijkstrajs": "^1.0.1", + "encode-utf8": "^1.0.3", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "qrcode": "bin/qrcode" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/qrcode/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/qrcode/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/qrcode/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "license": "ISC" + }, + "node_modules/qrcode/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "license": "MIT", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", + "license": "MIT" + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", + "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-diff-viewer-continued": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/react-diff-viewer-continued/-/react-diff-viewer-continued-4.0.5.tgz", + "integrity": "sha512-L43gIPdhHgu1MYdip4vNqAt5s2JLICKe2/RyGUr2ohAxfhYaH1+QZ6vBO0qgo4xGBhE3jmvbOA/swq4/gdS/0g==", + "license": "MIT", + "dependencies": { + "@emotion/css": "^11.13.5", + "@emotion/react": "^11.14.0", + "classnames": "^2.5.1", + "diff": "^5.2.0", + "memoize-one": "^6.0.0" + }, + "engines": { + "node": ">= 16" + }, + "peerDependencies": { + "react": "^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/react-dom": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz", + "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.25.0" + }, + "peerDependencies": { + "react": "^19.0.0" + } + }, + "node_modules/react-dropzone": { + "version": "14.3.5", + "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.3.5.tgz", + "integrity": "sha512-9nDUaEEpqZLOz5v5SUcFA0CjM4vq8YbqO0WRls+EYT7+DvxUdzDPKNCPLqGfj3YL9MsniCLCD4RFA6M95V6KMQ==", + "license": "MIT", + "dependencies": { + "attr-accept": "^2.2.4", + "file-selector": "^2.1.0", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "react": ">= 16.8 || 18.0.0" + } + }, + "node_modules/react-error-overlay": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.1.0.tgz", + "integrity": "sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ==", + "license": "MIT" + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==", + "license": "MIT" + }, + "node_modules/react-helmet-async": { + "name": "@slorber/react-helmet-async", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@slorber/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "integrity": "sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==", + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime": "^7.12.5", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.2.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-loadable": { + "name": "@docusaurus/react-loadable", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", + "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", + "license": "MIT", + "dependencies": { + "@types/react": "*" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-loadable-ssr-addon-v5-slorber": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", + "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.3" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "react-loadable": "*", + "webpack": ">=4.41.1 || 5.x" + } + }, + "node_modules/react-markdown": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-9.1.0.tgz", + "integrity": "sha512-xaijuJB0kzGiUdG7nc2MOMDUDBWPyGAjZtUrow9XxUeua8IqeP+VlIfAZ3bphpcLTnSZXz6z9jcVC/TCwbfgdw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "html-url-attributes": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=18", + "react": ">=18" + } + }, + "node_modules/react-markdown/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/react-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/react-property/-/react-property-2.0.2.tgz", + "integrity": "sha512-+PbtI3VuDV0l6CleQMsx2gtK0JZbZKbpdu5ynr+lbsuvtmgbNcS3VM0tuY2QjFNOcWxvXeHjDpy42RO+4U2rug==", + "license": "MIT" + }, + "node_modules/react-router": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-config": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.1.2" + }, + "peerDependencies": { + "react": ">=15", + "react-router": ">=5" + } + }, + "node_modules/react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.3.4", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "license": "MIT" + }, + "node_modules/react-router/node_modules/path-to-regexp": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", + "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "license": "MIT", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/react-router/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/react-zoom-pan-pinch": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/react-zoom-pan-pinch/-/react-zoom-pan-pinch-3.7.0.tgz", + "integrity": "sha512-UmReVZ0TxlKzxSbYiAj+LeGRW8s8LraAFTXRAxzMYnNRgGPsxCudwZKVkjvGmjtx7SW/hZamt69NUmGf4xrkXA==", + "license": "MIT", + "engines": { + "node": ">=8", + "npm": ">=5" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/read": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/read/-/read-3.0.1.tgz", + "integrity": "sha512-SLBrDU/Srs/9EoWhU5GdbAoxG1GzpQHo/6qiGItaoLJ1thmYpcNIM1qISEUvyHBzfGlWIyd6p2DNi1oV1VmAuw==", + "dev": true, + "license": "ISC", + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-cache/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-cmd-shim": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz", + "integrity": "sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", + "dev": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/read-pkg/node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/read-pkg/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/read/node_modules/mute-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reading-time": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==", + "license": "MIT" + }, + "node_modules/real-require": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", + "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.0.tgz", + "integrity": "sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==", + "license": "MIT", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/recursive-readdir/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/recursive-readdir/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.0.tgz", + "integrity": "sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==", + "license": "MIT", + "dependencies": { + "@pnpm/npm-conf": "^2.1.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "license": "MIT", + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.0.2" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/rehype-format": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rehype-format/-/rehype-format-5.0.1.tgz", + "integrity": "sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-format": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", + "dev": true, + "license": "ISC", + "dependencies": { + "es6-error": "^4.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/remark-directive": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.1.tgz", + "integrity": "sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-directive/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/remark-emoji": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz", + "integrity": "sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.2", + "emoticon": "^4.0.1", + "mdast-util-find-and-replace": "^3.0.1", + "node-emoji": "^2.1.0", + "unified": "^11.0.4" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/remark-emoji/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/remark-frontmatter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", + "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-frontmatter": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-frontmatter/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.0.tgz", + "integrity": "sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==", + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/remark-parse/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/remark-parse/node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse/node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/remark-parse/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.1.tgz", + "integrity": "sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", + "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", + "license": "MIT", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "license": "MIT", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/renderkid/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", + "engines": { + "node": "*" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "license": "ISC" + }, + "node_modules/requireindex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.1.0.tgz", + "integrity": "sha512-LBnkqsDE7BZKvqylbmn7lTIVdpx4K/QCduRATpO5R+wtPmky/a8pN1bO2D6wXppn1497AJF9mNjqAXr6bdl9jg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.5" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "license": "MIT" + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", + "license": "MIT" + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "license": "MIT", + "dependencies": { + "lowercase-keys": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/restructure": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-3.0.2.tgz", + "integrity": "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==", + "license": "MIT" + }, + "node_modules/retext": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true, + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rtlcss": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.3.0.tgz", + "integrity": "sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==", + "license": "MIT", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0", + "postcss": "^8.4.21", + "strip-json-comments": "^3.1.1" + }, + "bin": { + "rtlcss": "bin/rtlcss.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "license": "ISC" + }, + "node_modules/scheduler": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz", + "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==", + "license": "MIT" + }, + "node_modules/schema-utils": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", + "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/search-insights": { + "version": "2.17.3", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz", + "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", + "license": "MIT", + "peer": true + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", + "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semver-diff/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-handler": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", + "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", + "license": "MIT", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "3.3.0", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/serve-handler/node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "license": "MIT", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/serve-handler/node_modules/path-to-regexp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", + "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", + "license": "MIT" + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "license": "ISC" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", + "license": "MIT" + }, + "node_modules/sharp": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", + "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.3", + "semver": "^7.6.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.5", + "@img/sharp-darwin-x64": "0.33.5", + "@img/sharp-libvips-darwin-arm64": "1.0.4", + "@img/sharp-libvips-darwin-x64": "1.0.4", + "@img/sharp-libvips-linux-arm": "1.0.5", + "@img/sharp-libvips-linux-arm64": "1.0.4", + "@img/sharp-libvips-linux-s390x": "1.0.4", + "@img/sharp-libvips-linux-x64": "1.0.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", + "@img/sharp-libvips-linuxmusl-x64": "1.0.4", + "@img/sharp-linux-arm": "0.33.5", + "@img/sharp-linux-arm64": "0.33.5", + "@img/sharp-linux-s390x": "0.33.5", + "@img/sharp-linux-x64": "0.33.5", + "@img/sharp-linuxmusl-arm64": "0.33.5", + "@img/sharp-linuxmusl-x64": "0.33.5", + "@img/sharp-wasm32": "0.33.5", + "@img/sharp-win32-ia32": "0.33.5", + "@img/sharp-win32-x64": "0.33.5" + } + }, + "node_modules/sharp/node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/sharp/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", + "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "license": "BSD-3-Clause", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shelljs/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/shelljs/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/shelljs/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sigstore": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.3.1.tgz", + "integrity": "sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.2", + "@sigstore/sign": "^2.3.2", + "@sigstore/tuf": "^2.3.4", + "@sigstore/verify": "^1.2.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT" + }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sinon": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-18.0.1.tgz", + "integrity": "sha512-a2N2TDY1uGviajJ6r4D1CyRAkzE9NNVlYOV1wX5xQDuAk0ONgzgRl0EjCQuRCPxOwp13ghsMwt9Gdldujs39qw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1", + "@sinonjs/fake-timers": "11.2.2", + "@sinonjs/samsam": "^8.0.0", + "diff": "^5.2.0", + "nise": "^6.0.0", + "supports-color": "^7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/sinon" + } + }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/sitemap": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz", + "integrity": "sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==", + "license": "MIT", + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=5.6.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "license": "MIT" + }, + "node_modules/sitemap/node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/size-sensor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/size-sensor/-/size-sensor-1.0.2.tgz", + "integrity": "sha512-2NCmWxY7A9pYKGXNBfteo4hy14gWu47rg5692peVMst6lQLPKrVjhY+UTEsPI5ceFRJSl3gVgMYaUi/hKuaiKw==", + "license": "ISC" + }, + "node_modules/skin-tone": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", + "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "license": "MIT", + "dependencies": { + "unicode-emoji-modifier-base": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sockjs/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/socks": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", + "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/sonic-boom": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.2.0.tgz", + "integrity": "sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==", + "license": "MIT", + "dependencies": { + "atomic-sleep": "^1.0.0" + } + }, + "node_modules/sort-css-media-queries": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz", + "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==", + "license": "MIT", + "engines": { + "node": ">= 6.3.0" + } + }, + "node_modules/sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sort-keys/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spawn-wrap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^2.0.0", + "is-windows": "^1.0.2", + "make-dir": "^3.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "which": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/spawn-wrap/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/spawn-wrap/node_modules/foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/spawn-wrap/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/spawn-wrap/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/spawn-wrap/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/spawn-wrap/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/spawn-wrap/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.21", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", + "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/srcset": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", + "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ssri": { + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/stable-hash": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.4.tgz", + "integrity": "sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==", + "license": "MIT" + }, + "node_modules/standard": { + "version": "17.1.2", + "resolved": "https://registry.npmjs.org/standard/-/standard-17.1.2.tgz", + "integrity": "sha512-WLm12WoXveKkvnPnPnaFUUHuOB2cUdAsJ4AiGHL2G0UNMrcRAWY2WriQaV8IQ3oRmYr0AWUbLNr94ekYFAHOrA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "eslint": "^8.41.0", + "eslint-config-standard": "17.1.0", + "eslint-config-standard-jsx": "^11.0.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-n": "^15.7.0", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-react": "^7.36.1", + "standard-engine": "^15.1.0", + "version-guard": "^1.1.1" + }, + "bin": { + "standard": "bin/cmd.cjs" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/standard-engine": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-15.1.0.tgz", + "integrity": "sha512-VHysfoyxFu/ukT+9v49d4BRXIokFRZuH3z1VRxzFArZdjSCFpro6rEIU3ji7e4AoAtuSfKBkiOmsrDqKW5ZSRw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "get-stdin": "^8.0.0", + "minimist": "^1.2.6", + "pkg-conf": "^3.1.0", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz", + "integrity": "sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==", + "license": "MIT" + }, + "node_modules/stdin-discarder": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-entities/node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "license": "BSD-2-Clause", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/stringify-object/node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stringify-object/node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strnum": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.1.tgz", + "integrity": "sha512-O7aCHfYCamLCctjAiaucmE+fHf2DYHkus2OKCn4Wv03sykfFtgeECn505X6K4mPl8CRNd/qurC9guq+ynoN4pw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, + "node_modules/strong-log-transformer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", + "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "duplexer": "^0.1.1", + "minimist": "^1.2.0", + "through": "^2.3.4" + }, + "bin": { + "sl-log-transformer": "bin/sl-log-transformer.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/style-mod": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz", + "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==", + "license": "MIT" + }, + "node_modules/style-to-js": { + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.16.tgz", + "integrity": "sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==", + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.8" + } + }, + "node_modules/style-to-object": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.8.tgz", + "integrity": "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.4" + } + }, + "node_modules/stylehacks": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", + "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "postcss-selector-parser": "^6.0.16" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", + "license": "MIT" + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" + }, + "node_modules/super-regex": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-0.2.0.tgz", + "integrity": "sha512-WZzIx3rC1CvbMDloLsVw0lkZVKJWbrkJ0k1ghKFmcnPrW1+jWbgTkTEWVtD9lMdmI4jZEz40+naBxl1dCUhXXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-regexp": "^3.0.0", + "function-timeout": "^0.1.0", + "time-span": "^5.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/superagent": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-9.0.2.tgz", + "integrity": "sha512-xuW7dzkUpcJq7QnhOsnNUgtYp3xRwpt2F7abdRYIpCsAt0hhUqia0EdxyXZQQpNmGtsCzYHryaKSV3q3GJnq7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^3.5.1", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/superagent/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "license": "MIT" + }, + "node_modules/svg-to-pdfkit": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/svg-to-pdfkit/-/svg-to-pdfkit-0.1.8.tgz", + "integrity": "sha512-QItiGZBy5TstGy+q8mjQTMGRlDDOARXLxH+sgVm1n/LYeo0zFcQlcCh8m4zi8QxctrxB9Kue/lStc/RD5iLadQ==", + "license": "MIT", + "dependencies": { + "pdfkit": ">=0.8.1" + } + }, + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/svgo/node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/swagger-ui-dist": { + "version": "5.17.10", + "resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.17.10.tgz", + "integrity": "sha512-fp8SYeEK216KS1/noDvursUOGojEbkvtckOpOmAGZUjlx/ma7VLD2PLQwyermjlzFrlHI5uCt1V+M1C3qBvRyQ==", + "license": "Apache-2.0" + }, + "node_modules/swagger-ui-express": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/swagger-ui-express/-/swagger-ui-express-5.0.0.tgz", + "integrity": "sha512-tsU9tODVvhyfkNSvf03E6FAk+z+5cU3lXAzMy6Pv4av2Gt2xA0++fogwC4qo19XuFf6hdxevPuVCSKFuMHJhFA==", + "license": "MIT", + "dependencies": { + "swagger-ui-dist": ">=5.0.0" + }, + "engines": { + "node": ">= v0.10.32" + }, + "peerDependencies": { + "express": ">=4.0.0 || >=5.0.0-beta" + } + }, + "node_modules/swc-loader": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.6.tgz", + "integrity": "sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==", + "license": "MIT", + "dependencies": { + "@swc/counter": "^0.1.3" + }, + "peerDependencies": { + "@swc/core": "^1.2.147", + "webpack": ">=2" + } + }, + "node_modules/synckit": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.6.2.tgz", + "integrity": "sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", + "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.6", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/tailwindcss/node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/tailwindcss/node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tailwindcss/node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/terser": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", + "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.11.tgz", + "integrity": "sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/test-exclude": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^10.4.1", + "minimatch": "^9.0.4" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/text-extensions": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", + "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/thirty-two": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/thirty-two/-/thirty-two-1.0.2.tgz", + "integrity": "sha512-OEI0IWCe+Dw46019YLl6V10Us5bi574EvlJEOcAkB29IzQ/mYD1A6RyNHLjZPiHCmuodxvgF6U+vZO1L15lxVA==", + "engines": { + "node": ">=0.2.6" + } + }, + "node_modules/thread-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz", + "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==", + "license": "MIT", + "dependencies": { + "real-require": "^0.2.0" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/through2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "license": "MIT" + }, + "node_modules/time-span": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", + "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "convert-hrtime": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz", + "integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==", + "license": "MIT", + "dependencies": { + "fdir": "^6.4.3", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", + "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tlds": { + "version": "1.255.0", + "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.255.0.tgz", + "integrity": "sha512-tcwMRIioTcF/FcxLev8MJWxCp+GUALRhFEqbDoZrnowmKSGqPrl5pqS+Sut2m8BgJ6S4FExCSSpGffZ0Tks6Aw==", + "license": "MIT", + "bin": { + "tlds": "bin.js" + } + }, + "node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/touch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", + "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", + "dev": true, + "license": "ISC", + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/treeverse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz", + "integrity": "sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-api-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", + "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0" + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "devOptional": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tsscmp": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", + "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==", + "license": "MIT", + "engines": { + "node": ">=0.6.x" + } + }, + "node_modules/tuf-js": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.2.1.tgz", + "integrity": "sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/models": "2.0.1", + "debug": "^4.3.4", + "make-fetch-happen": "^13.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "license": "MIT", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true, + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-emoji-modifier-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", + "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-properties": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", + "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.0", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "license": "MIT", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dev": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "license": "MIT", + "dependencies": { + "crypto-random-string": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/unist-util-modify-children": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/unist-util-position/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/unist-util-visit/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/universal-user-agent": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/upath": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", + "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", + "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-notifier": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", + "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", + "license": "BSD-2-Clause", + "dependencies": { + "boxen": "^7.0.0", + "chalk": "^5.0.1", + "configstore": "^6.0.0", + "has-yarn": "^3.0.0", + "import-lazy": "^4.0.0", + "is-ci": "^3.0.1", + "is-installed-globally": "^0.4.0", + "is-npm": "^6.0.0", + "is-yarn-global": "^0.4.0", + "latest-version": "^7.0.0", + "pupa": "^3.1.0", + "semver": "^7.3.7", + "semver-diff": "^4.0.0", + "xdg-basedir": "^5.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/boxen": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", + "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.1", + "chalk": "^5.2.0", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/update-notifier/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/xdg-basedir": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", + "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/url-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/url-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/url-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/url-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/use-local-storage-state": { + "version": "19.5.0", + "resolved": "https://registry.npmjs.org/use-local-storage-state/-/use-local-storage-state-19.5.0.tgz", + "integrity": "sha512-sUJAyFvsmqMpBhdwaRr7GTKkkoxb6PWeNVvpBDrLuwQF1PpbJRKIbOYeLLeqJI7B3wdfFlLLCBbmOdopiSTBOw==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/astoilkov" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "license": "MIT" + }, + "node_modules/utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", + "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==", + "license": "MIT" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/version-guard": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/version-guard/-/version-guard-1.1.3.tgz", + "integrity": "sha512-JwPr6erhX53EWH/HCSzfy1tTFrtPXUe927wdM1jqBBeYp1OM+qPHjWbsvv6pIBduqdgxxS+ScfG7S28pzyr2DQ==", + "dev": true, + "license": "0BSD", + "engines": { + "node": ">=0.10.48" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/vfile-message/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/w3c-keyname": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", + "license": "MIT" + }, + "node_modules/walk-up-path": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-3.0.1.tgz", + "integrity": "sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==", + "dev": true, + "license": "ISC" + }, + "node_modules/watchpack": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/web-worker": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.5.0.tgz", + "integrity": "sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==", + "license": "Apache-2.0" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/webpack": { + "version": "5.98.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.98.0.tgz", + "integrity": "sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==", + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.11", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "license": "MIT", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/webpack-dev-server/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/webpack-dev-server/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/webpack-dev-server/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" + }, + "node_modules/webpackbar": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-6.0.1.tgz", + "integrity": "sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "consola": "^3.2.3", + "figures": "^3.2.0", + "markdown-table": "^2.0.0", + "pretty-time": "^1.1.0", + "std-env": "^3.7.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=14.21.3" + }, + "peerDependencies": { + "webpack": "3 || 4 || 5" + } + }, + "node_modules/webpackbar/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/webpackbar/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpackbar/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "license": "ISC" + }, + "node_modules/which-typed-array": { + "version": "1.1.18", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", + "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "license": "MIT", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/widest-line/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/widest-line/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/widest-line/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "license": "MIT" + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/workerpool": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/write-json-file": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz", + "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.15", + "make-dir": "^2.1.0", + "pify": "^4.0.1", + "sort-keys": "^2.0.0", + "write-file-atomic": "^2.4.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/write-json-file/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/write-json-file/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/write-json-file/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/write-json-file/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/write-json-file/node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/write-pkg": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz", + "integrity": "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==", + "dev": true, + "license": "MIT", + "dependencies": { + "sort-keys": "^2.0.0", + "type-fest": "^0.4.1", + "write-json-file": "^3.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/write-pkg/node_modules/type-fest": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz", + "integrity": "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=6" + } + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "license": "MIT", + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", + "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yaml-loader": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/yaml-loader/-/yaml-loader-0.8.1.tgz", + "integrity": "sha512-BCEndnUoi3BaZmePkwGGe93txRxLgMhBa/gE725v1/GHnura8QvNs7c4+4C1yyhhKoj3Dg63M7IqhA++15j6ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "javascript-stringify": "^2.0.1", + "loader-utils": "^2.0.0", + "yaml": "^2.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs-unparser/node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs-unparser/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ylru": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.4.0.tgz", + "integrity": "sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA==", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", + "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zrender": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.6.1.tgz", + "integrity": "sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==", + "license": "BSD-3-Clause", + "dependencies": { + "tslib": "2.3.0" + } + }, + "node_modules/zrender/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "packages/collection": { + "name": "@freesewing/collection", + "version": "4.0.0-rc.16", + "license": "MIT", + "dependencies": { + "@freesewing/aaron": "4.0.0-rc.16", + "@freesewing/albert": "4.0.0-rc.16", + "@freesewing/bee": "4.0.0-rc.16", + "@freesewing/bella": "4.0.0-rc.16", + "@freesewing/benjamin": "4.0.0-rc.16", + "@freesewing/bent": "4.0.0-rc.16", + "@freesewing/bibi": "4.0.0-rc.16", + "@freesewing/bob": "4.0.0-rc.16", + "@freesewing/bonny": "4.0.0-rc.16", + "@freesewing/breanna": "4.0.0-rc.16", + "@freesewing/brian": "4.0.0-rc.16", + "@freesewing/bruce": "4.0.0-rc.16", + "@freesewing/carlita": "4.0.0-rc.16", + "@freesewing/carlton": "4.0.0-rc.16", + "@freesewing/cathrin": "4.0.0-rc.16", + "@freesewing/charlie": "4.0.0-rc.16", + "@freesewing/core": "4.0.0-rc.16", + "@freesewing/core-plugins": "4.0.0-rc.16", + "@freesewing/cornelius": "4.0.0-rc.16", + "@freesewing/diana": "4.0.0-rc.16", + "@freesewing/florence": "4.0.0-rc.16", + "@freesewing/florent": "4.0.0-rc.16", + "@freesewing/gozer": "4.0.0-rc.16", + "@freesewing/hi": "4.0.0-rc.16", + "@freesewing/holmes": "4.0.0-rc.16", + "@freesewing/hortensia": "4.0.0-rc.16", + "@freesewing/huey": "4.0.0-rc.16", + "@freesewing/hugo": "4.0.0-rc.16", + "@freesewing/jaeger": "4.0.0-rc.16", + "@freesewing/jane": "4.0.0-rc.16", + "@freesewing/lily": "4.0.0-rc.16", + "@freesewing/lucy": "4.0.0-rc.16", + "@freesewing/lumina": "4.0.0-rc.16", + "@freesewing/lumira": "4.0.0-rc.16", + "@freesewing/lunetius": "4.0.0-rc.16", + "@freesewing/noble": "4.0.0-rc.16", + "@freesewing/octoplushy": "4.0.0-rc.16", + "@freesewing/onyx": "4.0.0-rc.16", + "@freesewing/opal": "4.0.0-rc.16", + "@freesewing/otis": "4.0.0-rc.16", + "@freesewing/paco": "4.0.0-rc.16", + "@freesewing/penelope": "4.0.0-rc.16", + "@freesewing/plugin-bust": "4.0.0-rc.16", + "@freesewing/plugin-flip": "4.0.0-rc.16", + "@freesewing/sandy": "4.0.0-rc.16", + "@freesewing/shelly": "4.0.0-rc.16", + "@freesewing/shin": "4.0.0-rc.16", + "@freesewing/simon": "4.0.0-rc.16", + "@freesewing/simone": "4.0.0-rc.16", + "@freesewing/skully": "4.0.0-rc.16", + "@freesewing/snapseries": "4.0.0-rc.16", + "@freesewing/sven": "4.0.0-rc.16", + "@freesewing/tamiko": "4.0.0-rc.16", + "@freesewing/teagan": "4.0.0-rc.16", + "@freesewing/tiberius": "4.0.0-rc.16", + "@freesewing/titan": "4.0.0-rc.16", + "@freesewing/trayvon": "4.0.0-rc.16", + "@freesewing/tristan": "4.0.0-rc.16", + "@freesewing/uma": "4.0.0-rc.16", + "@freesewing/umbra": "4.0.0-rc.16", + "@freesewing/wahid": "4.0.0-rc.16", + "@freesewing/walburga": "4.0.0-rc.16", + "@freesewing/waralee": "4.0.0-rc.16", + "@freesewing/yuri": "4.0.0-rc.16" + }, + "devDependencies": {}, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + } + }, + "packages/config": { + "name": "@freesewing/config", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": {}, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + } + }, + "packages/core": { + "name": "@freesewing/core", + "version": "4.0.0-rc.16", + "license": "MIT", + "dependencies": { + "@freesewing/core-plugins": "4.0.0-rc.16", + "bezier-js": "6.1.4", + "hooks": "0.3.2", + "lodash.clonedeep": "^4.5.0", + "lodash.get": "4.4.2", + "lodash.set": "4.3.2", + "lodash.unset": "4.5.2" + }, + "devDependencies": { + "chai": "5.1.1", + "eslint": "8.57.0", + "mocha": "10.4.0", + "nyc": "17.1.0", + "sinon": "^18.0.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + } + }, + "packages/core/node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "packages/core/node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "packages/core/node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "packages/core/node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "packages/core/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "packages/core/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "packages/core/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "packages/core/node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "packages/core/node_modules/cliui": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "packages/core/node_modules/convert-source-map": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "packages/core/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "packages/core/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "packages/core/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "packages/core/node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "packages/core/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "packages/core/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "packages/core/node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "packages/core/node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "packages/core/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/core/node_modules/find-up/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/core/node_modules/find-up/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/core/node_modules/find-up/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/core/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/core/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "packages/core/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/core/node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "packages/core/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "packages/core/node_modules/locate-path": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/core/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/core/node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "packages/core/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "packages/core/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "packages/core/node_modules/nyc": { + "version": "17.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^3.3.0", + "get-package-type": "^0.1.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^6.0.2", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "make-dir": "^3.0.0", + "node-preload": "^0.2.1", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "yargs": "^15.0.2" + }, + "bin": { + "nyc": "bin/nyc.js" + }, + "engines": { + "node": ">=18" + } + }, + "packages/core/node_modules/nyc/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "packages/core/node_modules/nyc/node_modules/find-up": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/core/node_modules/nyc/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/core/node_modules/nyc/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "packages/core/node_modules/nyc/node_modules/yargs": { + "version": "15.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "packages/core/node_modules/nyc/node_modules/yargs-parser": { + "version": "18.1.3", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "packages/core/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/core/node_modules/p-locate": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/core/node_modules/p-map": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/core/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "packages/core/node_modules/rimraf": { + "version": "3.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/core/node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "packages/core/node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/core/node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "packages/core/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "packages/core/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "packages/core/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "packages/core/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "packages/core/node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "packages/core/node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "packages/core/node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/core/node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "packages/core/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/core/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "packages/core/node_modules/wrap-ansi": { + "version": "6.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "packages/core/node_modules/y18n": { + "version": "4.0.3", + "dev": true, + "license": "ISC" + }, + "packages/core/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "packages/core/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "packages/core/node_modules/yargs/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "packages/core/node_modules/yargs/node_modules/wrap-ansi": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "packages/core/node_modules/yargs/node_modules/y18n": { + "version": "5.0.8", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "packages/core/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "packages/core/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/i18n": { + "name": "@freesewing/i18n", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": {}, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + } + }, + "packages/models": { + "name": "@freesewing/models", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": {}, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + } + }, + "packages/new-design": { + "name": "@freesewing/new-design", + "version": "4.0.0-rc.8", + "extraneous": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.2.0", + "commander": "^10.0.0", + "fs-extra": "^11.1.1", + "prompts": "^2.4.2" + }, + "bin": { + "new-design": "index.mjs" + }, + "devDependencies": {}, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + } + }, + "packages/prettier-config": { + "name": "@freesewing/prettier-config", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": {}, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + } + }, + "packages/react": { + "name": "@freesewing/react", + "version": "4.0.0-rc.16", + "license": "MIT", + "dependencies": { + "@codemirror/lang-yaml": "^6.1.2", + "@uiw/react-codemirror": "^4.23.8", + "d3-drag": "3.0.0", + "d3-selection": "3.0.0", + "diff": "^7.0.0", + "echarts": "^5.6.0", + "echarts-for-react": "^3.0.2", + "file-saver": "^2.0.5", + "highlight.js": "^11.11.1", + "html-react-parser": "^5.2.2", + "jotai": "^2.12.1", + "jotai-location": "^0.5.5", + "luxon": "^3.5.0", + "mustache": "^4.2.0", + "pdfkit": "^0.16.0", + "react-diff-viewer-continued": "^4.0.5", + "react-dropzone": "^14.3.5", + "react-zoom-pan-pinch": "^3.7.0", + "svg-to-pdfkit": "^0.1.8", + "use-local-storage-state": "^19.5.0", + "web-worker": "^1.5.0", + "yaml": "^2.7.0" + }, + "devDependencies": {}, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "react": "^19.0.0" + } + }, + "packages/react/node_modules/diff": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz", + "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "packages/rehype-highlight-lines": { + "version": "3.3.0-rc.1", + "extraneous": true, + "license": "MIT", + "dependencies": { + "unist-util-remove": "4.0.0" + }, + "devDependencies": {}, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + } + }, + "packages/rehype-jargon": { + "version": "3.3.0-rc.1", + "extraneous": true, + "license": "MIT", + "dependencies": { + "hast-util-from-html": "2.0.1", + "unist-util-visit": "5.0.0" + }, + "devDependencies": {}, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + } + }, + "packages/snapseries": { + "name": "@freesewing/snapseries", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": {}, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + } + }, + "packages/studio": { + "name": "@freesewing/studio", + "version": "4.0.0-rc.16", + "license": "MIT", + "dependencies": { + "chalk": "^5.2.0", + "execa": "^9.5.2", + "glob": "^11.0.1", + "ora": "^8.2.0", + "prompts": "^2.4.2" + }, + "bin": { + "studio": "index.mjs" + }, + "devDependencies": {}, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + } + }, + "packages/studio/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "packages/studio/node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "packages/studio/node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/studio/node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/studio/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "license": "MIT" + }, + "packages/studio/node_modules/glob": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz", + "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/studio/node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/studio/node_modules/jackspeak": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.0.tgz", + "integrity": "sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/studio/node_modules/log-symbols": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/studio/node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/studio/node_modules/lru-cache": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.1.0.tgz", + "integrity": "sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==", + "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, + "packages/studio/node_modules/minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/studio/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/studio/node_modules/ora": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz", + "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==", + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^5.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.2", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/studio/node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/studio/node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/studio/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/studio/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "packages/utils": { + "name": "@freesewing/utils", + "version": "4.0.0-rc.16", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21", + "tlds": "^1.255.0" + }, + "devDependencies": {}, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + } + }, + "plugins/core-plugins": { + "name": "@freesewing/core-plugins", + "version": "4.0.0-rc.16", + "license": "MIT", + "dependencies": { + "@freesewing/plugin-annotations": "4.0.0-rc.16", + "@freesewing/plugin-bin-pack": "4.0.0-rc.16", + "@freesewing/plugin-measurements": "4.0.0-rc.16", + "@freesewing/plugin-mirror": "4.0.0-rc.16", + "@freesewing/plugin-round": "4.0.0-rc.16", + "@freesewing/plugin-sprinkle": "4.0.0-rc.16" + }, + "devDependencies": { + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "plugins/core-plugins/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "plugins/core-plugins/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "plugins/core-plugins/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "plugins/core-plugins/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "plugins/core-plugins/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "plugins/core-plugins/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "plugins/core-plugins/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/core-plugins/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "plugins/core-plugins/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "plugins/core-plugins/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/core-plugins/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/core-plugins/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/core-plugins/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "plugins/core-plugins/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/core-plugins/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/core-plugins/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "plugins/core-plugins/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "plugins/core-plugins/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "plugins/core-plugins/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "plugins/core-plugins/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "plugins/core-plugins/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/core-plugins/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/core-plugins/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/core-plugins/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-annotations": { + "name": "@freesewing/plugin-annotations", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "plugins/plugin-annotations/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "plugins/plugin-annotations/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "plugins/plugin-annotations/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "plugins/plugin-annotations/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "plugins/plugin-annotations/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "plugins/plugin-annotations/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "plugins/plugin-annotations/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-annotations/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "plugins/plugin-annotations/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "plugins/plugin-annotations/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-annotations/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-annotations/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-annotations/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "plugins/plugin-annotations/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-annotations/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-annotations/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "plugins/plugin-annotations/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "plugins/plugin-annotations/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "plugins/plugin-annotations/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "plugins/plugin-annotations/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "plugins/plugin-annotations/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-annotations/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-annotations/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-annotations/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-bin-pack": { + "name": "@freesewing/plugin-bin-pack", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "plugins/plugin-bin-pack/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "plugins/plugin-bin-pack/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "plugins/plugin-bin-pack/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "plugins/plugin-bin-pack/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "plugins/plugin-bin-pack/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "plugins/plugin-bin-pack/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "plugins/plugin-bin-pack/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-bin-pack/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "plugins/plugin-bin-pack/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "plugins/plugin-bin-pack/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-bin-pack/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-bin-pack/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-bin-pack/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "plugins/plugin-bin-pack/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-bin-pack/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-bin-pack/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "plugins/plugin-bin-pack/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "plugins/plugin-bin-pack/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "plugins/plugin-bin-pack/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "plugins/plugin-bin-pack/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "plugins/plugin-bin-pack/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-bin-pack/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-bin-pack/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-bin-pack/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-bust": { + "name": "@freesewing/plugin-bust", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "plugins/plugin-bust/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "plugins/plugin-bust/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "plugins/plugin-bust/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "plugins/plugin-bust/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "plugins/plugin-bust/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "plugins/plugin-bust/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "plugins/plugin-bust/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-bust/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "plugins/plugin-bust/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "plugins/plugin-bust/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-bust/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-bust/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-bust/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "plugins/plugin-bust/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-bust/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-bust/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "plugins/plugin-bust/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "plugins/plugin-bust/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "plugins/plugin-bust/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "plugins/plugin-bust/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "plugins/plugin-bust/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-bust/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-bust/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-bust/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-flip": { + "name": "@freesewing/plugin-flip", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "plugins/plugin-flip/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "plugins/plugin-flip/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "plugins/plugin-flip/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "plugins/plugin-flip/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "plugins/plugin-flip/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "plugins/plugin-flip/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "plugins/plugin-flip/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-flip/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "plugins/plugin-flip/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "plugins/plugin-flip/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-flip/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-flip/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-flip/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "plugins/plugin-flip/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-flip/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-flip/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "plugins/plugin-flip/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "plugins/plugin-flip/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "plugins/plugin-flip/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "plugins/plugin-flip/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "plugins/plugin-flip/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-flip/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-flip/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-flip/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-gore": { + "name": "@freesewing/plugin-gore", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "plugins/plugin-gore/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "plugins/plugin-gore/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "plugins/plugin-gore/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "plugins/plugin-gore/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "plugins/plugin-gore/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "plugins/plugin-gore/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "plugins/plugin-gore/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-gore/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "plugins/plugin-gore/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "plugins/plugin-gore/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-gore/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-gore/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-gore/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "plugins/plugin-gore/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-gore/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-gore/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "plugins/plugin-gore/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "plugins/plugin-gore/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "plugins/plugin-gore/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "plugins/plugin-gore/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "plugins/plugin-gore/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-gore/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-gore/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-gore/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-i18n": { + "name": "@freesewing/plugin-i18n", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "plugins/plugin-i18n/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "plugins/plugin-i18n/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "plugins/plugin-i18n/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "plugins/plugin-i18n/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "plugins/plugin-i18n/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "plugins/plugin-i18n/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "plugins/plugin-i18n/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-i18n/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "plugins/plugin-i18n/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "plugins/plugin-i18n/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-i18n/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-i18n/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-i18n/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "plugins/plugin-i18n/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-i18n/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-i18n/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "plugins/plugin-i18n/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "plugins/plugin-i18n/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "plugins/plugin-i18n/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "plugins/plugin-i18n/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "plugins/plugin-i18n/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-i18n/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-i18n/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-i18n/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-measurements": { + "name": "@freesewing/plugin-measurements", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "plugins/plugin-measurements/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "plugins/plugin-measurements/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "plugins/plugin-measurements/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "plugins/plugin-measurements/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "plugins/plugin-measurements/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "plugins/plugin-measurements/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "plugins/plugin-measurements/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-measurements/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "plugins/plugin-measurements/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "plugins/plugin-measurements/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-measurements/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-measurements/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-measurements/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "plugins/plugin-measurements/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-measurements/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-measurements/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "plugins/plugin-measurements/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "plugins/plugin-measurements/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "plugins/plugin-measurements/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "plugins/plugin-measurements/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "plugins/plugin-measurements/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-measurements/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-measurements/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-measurements/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-mirror": { + "name": "@freesewing/plugin-mirror", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "plugins/plugin-mirror/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "plugins/plugin-mirror/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "plugins/plugin-mirror/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "plugins/plugin-mirror/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "plugins/plugin-mirror/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "plugins/plugin-mirror/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "plugins/plugin-mirror/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-mirror/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "plugins/plugin-mirror/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "plugins/plugin-mirror/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-mirror/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-mirror/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-mirror/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "plugins/plugin-mirror/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-mirror/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-mirror/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "plugins/plugin-mirror/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "plugins/plugin-mirror/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "plugins/plugin-mirror/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "plugins/plugin-mirror/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "plugins/plugin-mirror/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-mirror/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-mirror/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-mirror/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-ringsector": { + "name": "@freesewing/plugin-ringsector", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "plugins/plugin-ringsector/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "plugins/plugin-ringsector/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "plugins/plugin-ringsector/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "plugins/plugin-ringsector/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "plugins/plugin-ringsector/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "plugins/plugin-ringsector/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "plugins/plugin-ringsector/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-ringsector/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "plugins/plugin-ringsector/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "plugins/plugin-ringsector/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-ringsector/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-ringsector/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-ringsector/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "plugins/plugin-ringsector/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-ringsector/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-ringsector/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "plugins/plugin-ringsector/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "plugins/plugin-ringsector/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "plugins/plugin-ringsector/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "plugins/plugin-ringsector/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "plugins/plugin-ringsector/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-ringsector/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-ringsector/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-ringsector/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-round": { + "name": "@freesewing/plugin-round", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "plugins/plugin-round/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "plugins/plugin-round/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "plugins/plugin-round/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "plugins/plugin-round/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "plugins/plugin-round/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "plugins/plugin-round/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "plugins/plugin-round/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-round/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "plugins/plugin-round/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "plugins/plugin-round/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-round/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-round/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-round/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "plugins/plugin-round/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-round/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-round/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "plugins/plugin-round/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "plugins/plugin-round/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "plugins/plugin-round/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "plugins/plugin-round/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "plugins/plugin-round/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-round/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-round/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-round/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-sprinkle": { + "name": "@freesewing/plugin-sprinkle", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "plugins/plugin-sprinkle/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "plugins/plugin-sprinkle/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "plugins/plugin-sprinkle/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "plugins/plugin-sprinkle/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "plugins/plugin-sprinkle/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "plugins/plugin-sprinkle/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "plugins/plugin-sprinkle/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-sprinkle/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "plugins/plugin-sprinkle/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "plugins/plugin-sprinkle/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-sprinkle/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-sprinkle/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-sprinkle/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "plugins/plugin-sprinkle/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-sprinkle/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-sprinkle/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "plugins/plugin-sprinkle/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "plugins/plugin-sprinkle/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "plugins/plugin-sprinkle/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "plugins/plugin-sprinkle/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "plugins/plugin-sprinkle/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-sprinkle/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-sprinkle/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-sprinkle/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-svgattr": { + "name": "@freesewing/plugin-svgattr", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "plugins/plugin-svgattr/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "plugins/plugin-svgattr/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "plugins/plugin-svgattr/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "plugins/plugin-svgattr/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "plugins/plugin-svgattr/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "plugins/plugin-svgattr/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "plugins/plugin-svgattr/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-svgattr/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "plugins/plugin-svgattr/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "plugins/plugin-svgattr/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-svgattr/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-svgattr/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-svgattr/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "plugins/plugin-svgattr/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-svgattr/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-svgattr/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "plugins/plugin-svgattr/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "plugins/plugin-svgattr/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "plugins/plugin-svgattr/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "plugins/plugin-svgattr/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "plugins/plugin-svgattr/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-svgattr/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-svgattr/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-svgattr/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-theme": { + "name": "@freesewing/plugin-theme", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "plugins/plugin-theme/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "plugins/plugin-theme/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "plugins/plugin-theme/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "plugins/plugin-theme/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "plugins/plugin-theme/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "plugins/plugin-theme/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "plugins/plugin-theme/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-theme/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "plugins/plugin-theme/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "plugins/plugin-theme/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-theme/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-theme/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-theme/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "plugins/plugin-theme/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-theme/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-theme/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "plugins/plugin-theme/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "plugins/plugin-theme/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "plugins/plugin-theme/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "plugins/plugin-theme/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "plugins/plugin-theme/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-theme/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-theme/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-theme/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-timing": { + "name": "@freesewing/plugin-timing", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "plugins/plugin-timing/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "plugins/plugin-timing/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "plugins/plugin-timing/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "plugins/plugin-timing/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "plugins/plugin-timing/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "plugins/plugin-timing/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "plugins/plugin-timing/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-timing/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "plugins/plugin-timing/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "plugins/plugin-timing/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-timing/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-timing/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-timing/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "plugins/plugin-timing/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-timing/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-timing/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "plugins/plugin-timing/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "plugins/plugin-timing/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "plugins/plugin-timing/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "plugins/plugin-timing/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "plugins/plugin-timing/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-timing/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-timing/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-timing/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-versionfree-svg": { + "name": "@freesewing/plugin-versionfree-svg", + "version": "4.0.0-rc.16", + "license": "MIT", + "devDependencies": { + "chai": "5.1.1", + "mocha": "10.4.0" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "peerDependencies": { + "@freesewing/core": "4.0.0-rc.16" + } + }, + "plugins/plugin-versionfree-svg/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "plugins/plugin-versionfree-svg/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "plugins/plugin-versionfree-svg/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "plugins/plugin-versionfree-svg/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "plugins/plugin-versionfree-svg/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "plugins/plugin-versionfree-svg/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "plugins/plugin-versionfree-svg/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-versionfree-svg/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "plugins/plugin-versionfree-svg/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "plugins/plugin-versionfree-svg/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-versionfree-svg/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-versionfree-svg/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-versionfree-svg/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "plugins/plugin-versionfree-svg/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-versionfree-svg/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "plugins/plugin-versionfree-svg/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "plugins/plugin-versionfree-svg/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "plugins/plugin-versionfree-svg/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "plugins/plugin-versionfree-svg/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "plugins/plugin-versionfree-svg/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "plugins/plugin-versionfree-svg/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-versionfree-svg/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-versionfree-svg/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "plugins/plugin-versionfree-svg/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "sites/backend": { + "name": "backend.freesewing.org", + "version": "3.3.0-rc.1", + "license": "MIT", + "dependencies": { + "@aws-sdk/client-sesv2": "3.592.0", + "@prisma/client": "5.15.0", + "bcryptjs": "2.4.3", + "cors": "2.8.5", + "dotenv": "16.4.5", + "express": "4.19.2", + "js-yaml": "4.1.0", + "lodash.get": "4.4.2", + "mustache": "4.2.0", + "node-jose": "^2.2.0", + "oidc-provider": "^8.8.1", + "otplib": "12.0.1", + "passport": "0.7.0", + "passport-http": "0.3.0", + "passport-jwt": "4.0.1", + "pino": "9.2.0", + "qrcode": "1.5.3", + "sharp": "^0.33.5", + "swagger-ui-dist": "5.17.10", + "swagger-ui-express": "5.0.0" + }, + "devDependencies": { + "chai": "5.1.1", + "chai-http": "5.1.1", + "esbuild": "0.21.3", + "mocha": "10.4.0", + "mocha-steps": "1.3.0", + "nodemon": "3.1.0", + "prisma": "5.15.0" + }, + "engines": { + "node": ">= 18.17.0" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + } + }, + "sites/backend/node_modules/@esbuild/linux-x64": { + "version": "0.21.3", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "sites/backend/node_modules/ansi-colors": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "sites/backend/node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "sites/backend/node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "sites/backend/node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "sites/backend/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "sites/backend/node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "sites/backend/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "sites/backend/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "sites/backend/node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "sites/backend/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "sites/backend/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "sites/backend/node_modules/diff": { + "version": "5.0.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "sites/backend/node_modules/dotenv": { + "version": "16.4.5", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "sites/backend/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "sites/backend/node_modules/esbuild": { + "version": "0.21.3", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.3", + "@esbuild/android-arm": "0.21.3", + "@esbuild/android-arm64": "0.21.3", + "@esbuild/android-x64": "0.21.3", + "@esbuild/darwin-arm64": "0.21.3", + "@esbuild/darwin-x64": "0.21.3", + "@esbuild/freebsd-arm64": "0.21.3", + "@esbuild/freebsd-x64": "0.21.3", + "@esbuild/linux-arm": "0.21.3", + "@esbuild/linux-arm64": "0.21.3", + "@esbuild/linux-ia32": "0.21.3", + "@esbuild/linux-loong64": "0.21.3", + "@esbuild/linux-mips64el": "0.21.3", + "@esbuild/linux-ppc64": "0.21.3", + "@esbuild/linux-riscv64": "0.21.3", + "@esbuild/linux-s390x": "0.21.3", + "@esbuild/linux-x64": "0.21.3", + "@esbuild/netbsd-x64": "0.21.3", + "@esbuild/openbsd-x64": "0.21.3", + "@esbuild/sunos-x64": "0.21.3", + "@esbuild/win32-arm64": "0.21.3", + "@esbuild/win32-ia32": "0.21.3", + "@esbuild/win32-x64": "0.21.3" + } + }, + "sites/backend/node_modules/express": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "sites/backend/node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "sites/backend/node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "sites/backend/node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "sites/backend/node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "sites/backend/node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "sites/backend/node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "sites/backend/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "sites/backend/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "sites/backend/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "sites/backend/node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "sites/backend/node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "license": "MIT" + }, + "sites/backend/node_modules/minimatch": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "sites/backend/node_modules/mocha": { + "version": "10.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "sites/backend/node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "sites/backend/node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "sites/backend/node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "sites/backend/node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "license": "MIT" + }, + "sites/backend/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "sites/backend/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "sites/backend/node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "sites/backend/node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "sites/backend/node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "sites/backend/node_modules/serialize-javascript": { + "version": "6.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "sites/backend/node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "license": "MIT", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "sites/backend/node_modules/supports-color": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "sites/backend/node_modules/workerpool": { + "version": "6.2.1", + "dev": true, + "license": "Apache-2.0" + }, + "sites/backend/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "sites/backend/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "sites/backend/node_modules/yargs-parser": { + "version": "20.2.4", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "sites/backend/node_modules/yargs/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "sites/backend/node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "sites/dev": { + "version": "0.0.0", + "dependencies": { + "@docusaurus/core": "3.7.0", + "@docusaurus/preset-classic": "3.7.0", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "prism-react-renderer": "^2.3.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-markdown": "^9.0.1", + "tailwindcss": "^3.4.13" + }, + "devDependencies": { + "@babel/preset-react": "^7.26.3", + "@docusaurus/module-type-aliases": "3.7.0", + "@docusaurus/types": "3.7.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "sites/org": { + "name": "orgdocs", + "version": "0.0.0", + "dependencies": { + "@docusaurus/core": "^3.7.0", + "@docusaurus/faster": "^3.7.0", + "@docusaurus/plugin-content-blog": "^3.7.0", + "@docusaurus/preset-classic": "^3.7.0", + "@mdx-js/react": "^3.0.0", + "autoprefixer": "^10.4.20", + "clsx": "^2.0.0", + "daisyui": "^4.12.23", + "lodash": "^4.17.21", + "postcss": "^8.4.47", + "prism-react-renderer": "^2.3.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-markdown": "^9.0.1", + "remark-smartypants": "^3.0.2", + "tailwindcss": "^3.4.14" + }, + "devDependencies": { + "@babel/plugin-syntax-import-attributes": "^7.25.6", + "@docusaurus/module-type-aliases": "^3.7.0", + "@docusaurus/types": "^3.7.0", + "glob": "^11.0.0", + "gray-matter": "^4.0.3", + "yaml-loader": "^0.8.1" + }, + "engines": { + "node": ">=18.0" + } + }, + "sites/org/node_modules/glob": { + "version": "11.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "sites/org/node_modules/jackspeak": { + "version": "4.0.2", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "sites/org/node_modules/lru-cache": { + "version": "11.0.2", + "dev": true, + "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, + "sites/org/node_modules/minimatch": { + "version": "10.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "sites/org/node_modules/path-scurry": { + "version": "2.0.0", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + } + } +} diff --git a/package.json b/package.json index a98a07cde92..4f1700ddadc 100644 --- a/package.json +++ b/package.json @@ -12,25 +12,21 @@ "license": "MIT", "scripts": { "new": "node --experimental-json-modules --no-warnings scripts/add-software.mjs", + "build": "lerna run build:all", "?": "node scripts/help.mjs", "tips": "node scripts/help.mjs", - "org": "cd sites/org && yarn start", - "dev": "cd sites/dev && yarn start", - "kickstart": "npx yarn install && yarn prepare && yarn tips", - "kickstart:windows": "npx yarn install && yarn prepare && yarn tips", - "cleanall": "lerna run clean", - "test": "lerna run test", - "e2e": "lerna run e2e", + "org": "cd sites/org && npm run start", + "dev": "cd sites/dev && npm run start", + "kickstart": "npm install && husky && npm run tips", + "cleanall": "npx nx run-many --target=clean", + "test": "npx nx run-many --target=test", + "e2e": "npx nx run-many --target=e2e", "prettier": "npx prettier --write 'config/*' 'config/**/*' 'packages/**/src/*.mjs' 'packages/i18n/src/locales/**/*.*' 'packages/**/tests/*.mjs' 'packages/react-components/src/**/*.mjs'", "reconfigure": "all-contributors generate && node --experimental-json-modules --no-warnings scripts/reconfigure.mjs", "sitebuildconfigure": "SITEBUILD=1 node --experimental-json-modules --no-warnings scripts/reconfigure.mjs", - "prerelease": "lerna version --no-git-tag-version --no-push && yarn reconfigure && yarn buildall", - "buildall": "lerna run build:all", - "build": "yarn buildall", - "wbuild": "lerna run wbuild:all", "testall": "node scripts/testall.js", - "lint": "LINTER=1 lerna run --no-bail lint -- ", - "qa": "yarn qa:prettier && yarn qa:lint", + "lint": "LINTER=1 nx run-many --target=lint -- ", + "qa": "npm run qa:prettier && npm run qa:lint", "qa:prettier": "npx prettier", "qa:lint": "npx eslint", "release": "lerna exec --no-bail -- npm publish", @@ -44,8 +40,7 @@ "checkdocs": "remark markdown --quiet --frail", "strapi:translate": "node scripts/strapi-en-to-other.mjs", "fixdocs": "remark markdown --quiet --frail --output", - "wbuildall": "lerna run wbuildall", - "prepare": "husky && yarn buildall" + "reversion": "node --no-warnings scripts/reversion.mjs && npm run reconfigure" }, "repository": { "type": "git", @@ -63,13 +58,11 @@ "devDependencies": { "@commitlint/cli": "^19.0.3", "@commitlint/config-conventional": "^19.0.3", + "@nx/eslint": "20.2.1", "all-contributors-cli": "^6.26.1", "axios": "^1.5.1", "chalk": "^4.1.0", - "codecov": "^3.8.3", "cross-env": "^7.0.2", - "esbuild": "^0.23.0", - "esbuild-plugin-yaml": "^0.0.1", "eslint": "^8.23.1", "eslint-plugin-jsonc": "^2.4.0", "eslint-plugin-markdown": "^5.0.0", @@ -82,11 +75,10 @@ "lint-staged": "^15.0.1", "mocha": "^10.0.0", "mustache": "^4.0.1", + "nx": "20.2.1", "nyc": "^15.1.0", "prettier": "^3.0.0", "pretty-quick": "^4.0.0", - "prop-types": "^15.7.2", - "react": "^18.2.0", "rimraf": "^5.0.0", "standard": "^17.0.0" }, @@ -105,10 +97,10 @@ "eslint-config-next": "^14.0.1", "glob": "^10.3.10", "rehype-format": "^5.0.0", - "yarn": "^1.22.19" + "rehype-stringify": "^10.0.1", + "tlds": "^1.255.0" }, "engines": { - "node": ">= 18.17.0 <22" - }, - "packageManager": "yarn@1.22.19" + "node": ">=20.0" + } } diff --git a/packages/collection/CHANGELOG.md b/packages/collection/CHANGELOG.md new file mode 100644 index 00000000000..1b5c4c4c24e --- /dev/null +++ b/packages/collection/CHANGELOG.md @@ -0,0 +1,23 @@ +# Change log for: @freesewing/collection + + +## 4.0.0 (2024-04-01) + +### Added + + - Added a new `@freesewing/collection` package that bundles all our designs + +## 3.0.0 (2023-09-30) + +### Changed + + - All FreeSewing packages are now ESM only. + - All FreeSewing packages now use named exports. + - Dropped support for NodeJS 14. NodeJS 18 (LTS/hydrogen) or more recent is now required. + + +This is the **initial release**, and the start of this change log. + +> Prior to version 2, FreeSewing was not a JavaScript project. +> As such, that history is out of scope for this change log. + diff --git a/packages/collection/README.md b/packages/collection/README.md new file mode 100644 index 00000000000..38accea5c13 --- /dev/null +++ b/packages/collection/README.md @@ -0,0 +1,143 @@ +

@freesewing/collection on NPM + License: MIT + All Contributors +

Follow @freesewing_org on Twitter + Chat with us on Discord + Become a FreeSewing Patron +

+ +# @freesewing/collection + +All FreeSewing designs bundles into one pacakge, our collection + + + +# FreeSewing + +> [!TIP] +>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰 +> +> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. +> +> If you feel FreeSewing is worthwhile, and you can spend a few coins without +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). + +## What am I looking at? 🤔 + +This repository is the FreeSewing *monorepo* holding all FreeSewing's websites, documentation, designs, plugins, and other NPM packages. + +This folder holds: @freesewing/collection + +If you're not entirely sure what to do or how to start, type this command: + +``` +npm run tips +``` + +> [!NOTE] +> If you don't want to set up a dev environment, you can run it in your browser: +> +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) +> +> We recommend that you fork our repository and then +> put `gitpod.io/# to start up a browser-based dev environment of your own. + +## About FreeSewing 💀 + +Where the world of makers and developers collide, that's where you'll find FreeSewing. + +If you're a maker, checkout [freesewing.eu](https://freesewing.eu/) where you can generate +sewing patterns adapted to your measurements. + +If you're a developer, the FreeSewing documentation lives at [freesewing.dev](https://freesewing.dev/). +The FreeSewing [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox +for parametric design of sewing patterns. But FreeSewing also provides a range +of [plugins](https://freesewing.dev/reference/plugins/) that further extend the +functionality of the platform. + +If you have NodeJS installed, you can try it right now by running: + +```bash +npx @freesewing/studio +``` + +Getting started guides are available for: +- [Linux](https://freesewing.dev/tutorials/getting-started-linux/) +- [MacOS](https://freesewing.dev/tutorials/getting-started-mac/) +- [Windows](https://freesewing.dev/tutorials/getting-started-windows/) + +The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will +show you how to create your first parametric design. + +## Getting started ⚡ + +To get started with FreeSewing, you can spin up our development environment with: + +```bash +npx @freesewing/studio +``` + +To work with FreeSewing's monorepo, you'll need [NodeJS v20](https://nodejs.org) on your system. +Once you have that, clone (or fork) this repo and run `npm run kickstart`: + +```bash +git clone git@codeberg.org:freesewing/freesewing.git +cd freesewing +npm run kickstart +``` + +## Links 👩‍💻 + +**Official channels** + + - 💻 Makers website: [FreeSewing.eu](https://freesewing.eu/) + - 💻 Developers website: [FreeSewing.dev](https://freesewing.dev/) + - ✅ [Support](https://forum.freesewing.eu/), + [Issues](https://codeberg.org/freesewing/freesewing/issues) & + [Codeberg](https://codeberg.org/freesewing/freesewing) + +**Social media** + + - 🐘 Mastodon: [@freesewing](https://freesewing.social/@freesewing) on [FreeSewing.social](https://freesewing.social/) + - 🐘 Mastodon: [@joost](https://freesewing.social/@joost) on [FreeSewing.social](https://freesewing.social/) + +**Places the FreeSewing community hangs out** + + - 💬 [Forum](https://forum.freesewing.eu/) + - 💬 [Discord](https://discord.freesewing.org/) + - 💬 [Reddit](https://www.reddit.com/r/freesewing/) + +## License: MIT 🤓 + +© [Joost De Cock](https://codeberg.org/joostdecock). +See [the license file](https://codeberg.org/freesewing/freesewing/blob/develop/LICENSE) for details. + +## Where to get help 🤯 + +For [Support](https://freesewing.eu/support), please use the [forum](https://forum.freesewing.eu). + diff --git a/packages/collection/package.json b/packages/collection/package.json new file mode 100644 index 00000000000..131807dfbde --- /dev/null +++ b/packages/collection/package.json @@ -0,0 +1,112 @@ +{ + "name": "@freesewing/collection", + "version": "4.0.0", + "description": "All FreeSewing designs bundles into one pacakge, our collection", + "author": "Joost De Cock (https://github.com/joostdecock)", + "homepage": "https://freesewing.org/", + "repository": "github:freesewing/freesewing", + "license": "MIT", + "bugs": { + "url": "https://github.com/freesewing/freesewing/issues" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "keywords": [ + "freesewing", + "freesewing" + ], + "type": "module", + "module": "src/index.mjs", + "exports": { + ".": "./src/index.mjs" + }, + "scripts": { + "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", + "test": "echo \"collection: No tests configured. Perhaps you could write some?\" && exit 0", + "tips": "node ../../scripts/help.mjs", + "lint": "npx eslint 'src/**' 'tests/*.mjs'" + }, + "peerDependencies": {}, + "dependencies": { + "@freesewing/aaron": "4.0.0", + "@freesewing/albert": "4.0.0", + "@freesewing/bee": "4.0.0", + "@freesewing/bella": "4.0.0", + "@freesewing/benjamin": "4.0.0", + "@freesewing/bent": "4.0.0", + "@freesewing/bibi": "4.0.0", + "@freesewing/bob": "4.0.0", + "@freesewing/bonny": "4.0.0", + "@freesewing/breanna": "4.0.0", + "@freesewing/brian": "4.0.0", + "@freesewing/bruce": "4.0.0", + "@freesewing/carlita": "4.0.0", + "@freesewing/carlton": "4.0.0", + "@freesewing/cathrin": "4.0.0", + "@freesewing/charlie": "4.0.0", + "@freesewing/cornelius": "4.0.0", + "@freesewing/diana": "4.0.0", + "@freesewing/florence": "4.0.0", + "@freesewing/florent": "4.0.0", + "@freesewing/gozer": "4.0.0", + "@freesewing/hi": "4.0.0", + "@freesewing/holmes": "4.0.0", + "@freesewing/hortensia": "4.0.0", + "@freesewing/huey": "4.0.0", + "@freesewing/hugo": "4.0.0", + "@freesewing/jaeger": "4.0.0", + "@freesewing/jane": "4.0.0", + "@freesewing/lily": "4.0.0", + "@freesewing/lucy": "4.0.0", + "@freesewing/lumina": "4.0.0", + "@freesewing/lumira": "4.0.0", + "@freesewing/lunetius": "4.0.0", + "@freesewing/noble": "4.0.0", + "@freesewing/octoplushy": "4.0.0", + "@freesewing/onyx": "4.0.0", + "@freesewing/opal": "4.0.0", + "@freesewing/otis": "4.0.0", + "@freesewing/paco": "4.0.0", + "@freesewing/penelope": "4.0.0", + "@freesewing/sandy": "4.0.0", + "@freesewing/shelly": "4.0.0", + "@freesewing/shin": "4.0.0", + "@freesewing/simon": "4.0.0", + "@freesewing/simone": "4.0.0", + "@freesewing/skully": "4.0.0", + "@freesewing/sven": "4.0.0", + "@freesewing/tamiko": "4.0.0", + "@freesewing/teagan": "4.0.0", + "@freesewing/tiberius": "4.0.0", + "@freesewing/titan": "4.0.0", + "@freesewing/trayvon": "4.0.0", + "@freesewing/tristan": "4.0.0", + "@freesewing/uma": "4.0.0", + "@freesewing/umbra": "4.0.0", + "@freesewing/wahid": "4.0.0", + "@freesewing/walburga": "4.0.0", + "@freesewing/waralee": "4.0.0", + "@freesewing/yuri": "4.0.0", + "@freesewing/plugin-bust": "4.0.0", + "@freesewing/plugin-flip": "4.0.0", + "@freesewing/core-plugins": "4.0.0", + "@freesewing/core": "4.0.0", + "@freesewing/snapseries": "4.0.0" + }, + "devDependencies": {}, + "files": [ + "src/", + "i18n/", + "about.json", + "README.md" + ], + "publishConfig": { + "access": "public", + "tag": "latest" + }, + "engines": { + "node": ">= 20" + } +} diff --git a/sites/shared/components/designs/examples.mjs b/packages/collection/src/examples.mjs similarity index 85% rename from sites/shared/components/designs/examples.mjs rename to packages/collection/src/examples.mjs index a17f374627b..6a89fedd687 100644 --- a/sites/shared/components/designs/examples.mjs +++ b/packages/collection/src/examples.mjs @@ -1,6 +1,9 @@ -import { cloudflareImageUrl } from 'shared/utils.mjs' +import { cloudflare } from '@freesewing/config' -export const designExamples = { +/* + * This holds the ID of an example image for all designs in the FreeSewing collection + */ +export const designExampleIds = { aaron: 'showcase-tight-aaron', albert: 'showcase-albert-by-wouter', bee: 'd0312c99-7b2f-4e37-c131-d626d34cd300', @@ -56,6 +59,10 @@ export const designExamples = { yuri: 'showcase-yuri-by-its-designer', } -export const designImages = {} -for (const [design, id] of Object.entries(designExamples)) - designImages[design] = cloudflareImageUrl({ id, variant: 'sq500' }) +/* + * Same, but with a full href + */ +export const designExampleHrefs = {} +for (const [design, id] of Object.entries(designExampleIds)) { + designExampleHrefs[design] = `${cloudflare.url}${id}/public` +} diff --git a/packages/collection/src/i18n.mjs b/packages/collection/src/i18n.mjs new file mode 100644 index 00000000000..21ac2691059 --- /dev/null +++ b/packages/collection/src/i18n.mjs @@ -0,0 +1,125 @@ +// Designs +import { i18n as aaron } from '@freesewing/aaron' +import { i18n as albert } from '@freesewing/albert' +import { i18n as bee } from '@freesewing/bee' +import { i18n as bella } from '@freesewing/bella' +import { i18n as benjamin } from '@freesewing/benjamin' +import { i18n as bent } from '@freesewing/bent' +import { i18n as bibi } from '@freesewing/bibi' +import { i18n as bob } from '@freesewing/bob' +import { i18n as bonny } from '@freesewing/bonny' +import { i18n as breanna } from '@freesewing/breanna' +import { i18n as brian } from '@freesewing/brian' +import { i18n as bruce } from '@freesewing/bruce' +import { i18n as carlita } from '@freesewing/carlita' +import { i18n as carlton } from '@freesewing/carlton' +import { i18n as cathrin } from '@freesewing/cathrin' +import { i18n as charlie } from '@freesewing/charlie' +import { i18n as cornelius } from '@freesewing/cornelius' +import { i18n as diana } from '@freesewing/diana' +import { i18n as florence } from '@freesewing/florence' +import { i18n as florent } from '@freesewing/florent' +import { i18n as gozer } from '@freesewing/gozer' +import { i18n as hi } from '@freesewing/hi' +import { i18n as holmes } from '@freesewing/holmes' +import { i18n as hortensia } from '@freesewing/hortensia' +import { i18n as huey } from '@freesewing/huey' +import { i18n as hugo } from '@freesewing/hugo' +import { i18n as jaeger } from '@freesewing/jaeger' +import { i18n as jane } from '@freesewing/jane' +import { i18n as lucy } from '@freesewing/lucy' +import { i18n as lumina } from '@freesewing/lumina' +import { i18n as lumira } from '@freesewing/lumira' +import { i18n as lunetius } from '@freesewing/lunetius' +import { i18n as noble } from '@freesewing/noble' +import { i18n as octoplushy } from '@freesewing/octoplushy' +import { i18n as onyx } from '@freesewing/onyx' +import { i18n as opal } from '@freesewing/opal' +import { i18n as otis } from '@freesewing/otis' +import { i18n as paco } from '@freesewing/paco' +import { i18n as penelope } from '@freesewing/penelope' +import { i18n as sandy } from '@freesewing/sandy' +import { i18n as shelly } from '@freesewing/shelly' +import { i18n as shin } from '@freesewing/shin' +import { i18n as simon } from '@freesewing/simon' +import { i18n as simone } from '@freesewing/simone' +import { i18n as skully } from '@freesewing/skully' +import { i18n as sven } from '@freesewing/sven' +import { i18n as tamiko } from '@freesewing/tamiko' +import { i18n as teagan } from '@freesewing/teagan' +import { i18n as tiberius } from '@freesewing/tiberius' +import { i18n as titan } from '@freesewing/titan' +import { i18n as trayvon } from '@freesewing/trayvon' +import { i18n as tristan } from '@freesewing/tristan' +import { i18n as uma } from '@freesewing/uma' +import { i18n as umbra } from '@freesewing/umbra' +import { i18n as wahid } from '@freesewing/wahid' +import { i18n as walburga } from '@freesewing/walburga' +import { i18n as waralee } from '@freesewing/waralee' +import { i18n as yuri } from '@freesewing/yuri' +import { i18n as lily } from '@freesewing/lily' + +/* + * Export the translations + */ +export const i18n = { + aaron, + albert, + bee, + bella, + benjamin, + bent, + bibi, + bob, + bonny, + breanna, + brian, + bruce, + carlita, + carlton, + cathrin, + charlie, + cornelius, + diana, + florence, + florent, + gozer, + hi, + holmes, + hortensia, + huey, + hugo, + jaeger, + jane, + lucy, + lumina, + lumira, + lunetius, + noble, + octoplushy, + onyx, + opal, + otis, + paco, + penelope, + sandy, + shelly, + shin, + simon, + simone, + skully, + sven, + tamiko, + teagan, + tiberius, + titan, + trayvon, + tristan, + uma, + umbra, + wahid, + walburga, + waralee, + yuri, + lily, +} diff --git a/packages/collection/src/index.mjs b/packages/collection/src/index.mjs new file mode 100644 index 00000000000..68198ff77f7 --- /dev/null +++ b/packages/collection/src/index.mjs @@ -0,0 +1,187 @@ +// Designs +import { Aaron as aaron } from '@freesewing/aaron' +import { Albert as albert } from '@freesewing/albert' +import { Bee as bee } from '@freesewing/bee' +import { Bella as bella } from '@freesewing/bella' +import { Benjamin as benjamin } from '@freesewing/benjamin' +import { Bent as bent } from '@freesewing/bent' +import { Bibi as bibi } from '@freesewing/bibi' +import { Bob as bob } from '@freesewing/bob' +import { Bonny as bonny } from '@freesewing/bonny' +import { Breanna as breanna } from '@freesewing/breanna' +import { Brian as brian } from '@freesewing/brian' +import { Bruce as bruce } from '@freesewing/bruce' +import { Carlita as carlita } from '@freesewing/carlita' +import { Carlton as carlton } from '@freesewing/carlton' +import { Cathrin as cathrin } from '@freesewing/cathrin' +import { Charlie as charlie } from '@freesewing/charlie' +import { Cornelius as cornelius } from '@freesewing/cornelius' +import { Diana as diana } from '@freesewing/diana' +import { Florence as florence } from '@freesewing/florence' +import { Florent as florent } from '@freesewing/florent' +import { Gozer as gozer } from '@freesewing/gozer' +import { Hi as hi } from '@freesewing/hi' +import { Holmes as holmes } from '@freesewing/holmes' +import { Hortensia as hortensia } from '@freesewing/hortensia' +import { Huey as huey } from '@freesewing/huey' +import { Hugo as hugo } from '@freesewing/hugo' +import { Jaeger as jaeger } from '@freesewing/jaeger' +import { Jane as jane } from '@freesewing/jane' +import { Lily as lily } from '@freesewing/lily' +import { Lucy as lucy } from '@freesewing/lucy' +import { Lumina as lumina } from '@freesewing/lumina' +import { Lumira as lumira } from '@freesewing/lumira' +import { Lunetius as lunetius } from '@freesewing/lunetius' +import { Noble as noble } from '@freesewing/noble' +import { Octoplushy as octoplushy } from '@freesewing/octoplushy' +import { Onyx as onyx } from '@freesewing/onyx' +import { Opal as opal } from '@freesewing/opal' +import { Otis as otis } from '@freesewing/otis' +import { Paco as paco } from '@freesewing/paco' +import { Penelope as penelope } from '@freesewing/penelope' +import { Sandy as sandy } from '@freesewing/sandy' +import { Shelly as shelly } from '@freesewing/shelly' +import { Shin as shin } from '@freesewing/shin' +import { Simon as simon } from '@freesewing/simon' +import { Simone as simone } from '@freesewing/simone' +import { Skully as skully } from '@freesewing/skully' +import { Sven as sven } from '@freesewing/sven' +import { Tamiko as tamiko } from '@freesewing/tamiko' +import { Teagan as teagan } from '@freesewing/teagan' +import { Tiberius as tiberius } from '@freesewing/tiberius' +import { Titan as titan } from '@freesewing/titan' +import { Trayvon as trayvon } from '@freesewing/trayvon' +import { Tristan as tristan } from '@freesewing/tristan' +import { Uma as uma } from '@freesewing/uma' +import { Umbra as umbra } from '@freesewing/umbra' +import { Wahid as wahid } from '@freesewing/wahid' +import { Walburga as walburga } from '@freesewing/walburga' +import { Waralee as waralee } from '@freesewing/waralee' +import { Yuri as yuri } from '@freesewing/yuri' +// Translations +import { i18n as translations } from './i18n.mjs' +// Examples +import { designExampleIds, designExampleHrefs } from './examples.mjs' + +/* + * Export the designs themselves + */ +export const designs = { + aaron, + albert, + bee, + bella, + benjamin, + bent, + bibi, + bob, + breanna, + brian, + bruce, + carlita, + carlton, + cathrin, + charlie, + cornelius, + diana, + florence, + florent, + gozer, + hi, + holmes, + hortensia, + huey, + hugo, + jaeger, + jane, + lily, + lucy, + lumina, + lumira, + lunetius, + noble, + octoplushy, + onyx, + opal, + otis, + paco, + penelope, + sandy, + shelly, + shin, + simon, + simone, + skully, + sven, + tamiko, + teagan, + tiberius, + titan, + trayvon, + tristan, + uma, + umbra, + wahid, + walburga, + waralee, + yuri, +} + +/* + * Export a list of names that make up the FreeSewing collection + */ +export const collection = Object.keys(designs) + +/* + * Create various helper exports to get info about the collection + */ +export const requiredMeasurements = {} +export const optionalMeasurements = {} +export const measurements = {} +export const about = {} + +const _tags = new Set() +const _techniques = new Set() +const _devs = new Set() +const _dess = new Set() + +for (const design in designs) { + requiredMeasurements[design] = designs[design].patternConfig.measurements + optionalMeasurements[design] = designs[design].patternConfig.optionalMeasurements + measurements[design] = [ + ...designs[design].patternConfig.measurements, + ...designs[design].patternConfig.optionalMeasurements, + ] + about[design] = { ...designs[design].designConfig.data } + if (about[design].tags) _tags.add(...about[design].tags) + if (about[design].techniques) _techniques.add(...about[design].techniques) + if (Array.isArray(about[design].code)) _devs.add(...about[design].code) + else _devs.add(about[design].code) + if (Array.isArray(about[design].design)) _dess.add(...about[design].design) + else _dess.add(about[design].design) +} +export const tags = Array.from(_tags) + .filter((t) => (t ? true : false)) + .sort() +export const techniques = Array.from(_techniques) + .filter((t) => (t ? true : false)) + .sort() +export const developers = Array.from(_devs) + .filter((t) => (t ? true : false)) + .sort() +export const designers = Array.from(_dess) + .filter((t) => (t ? true : false)) + .sort() + +/* + * Export the translations + */ +export const i18n = translations + +/* + * These are examples + */ +export const examples = { + id: designExampleIds, + href: designExampleHrefs, +} diff --git a/packages/config/CHANGELOG.md b/packages/config/CHANGELOG.md new file mode 100644 index 00000000000..026c699db25 --- /dev/null +++ b/packages/config/CHANGELOG.md @@ -0,0 +1,23 @@ +# Change log for: @freesewing/config + + +## 4.0.0 (2024-04-01) + +### Added + + - Added a new `@freesewing/config` package for shared configuration + +## 3.0.0 (2023-09-30) + +### Changed + + - All FreeSewing packages are now ESM only. + - All FreeSewing packages now use named exports. + - Dropped support for NodeJS 14. NodeJS 18 (LTS/hydrogen) or more recent is now required. + + +This is the **initial release**, and the start of this change log. + +> Prior to version 2, FreeSewing was not a JavaScript project. +> As such, that history is out of scope for this change log. + diff --git a/packages/config/README.md b/packages/config/README.md new file mode 100644 index 00000000000..ce8e6985330 --- /dev/null +++ b/packages/config/README.md @@ -0,0 +1,143 @@ +

@freesewing/config on NPM + License: MIT + All Contributors +

Follow @freesewing_org on Twitter + Chat with us on Discord + Become a FreeSewing Patron +

+ +# @freesewing/config + +Various configurations for FreeSewing + + + +# FreeSewing + +> [!TIP] +>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰 +> +> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. +> +> If you feel FreeSewing is worthwhile, and you can spend a few coins without +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). + +## What am I looking at? 🤔 + +This repository is the FreeSewing *monorepo* holding all FreeSewing's websites, documentation, designs, plugins, and other NPM packages. + +This folder holds: @freesewing/config + +If you're not entirely sure what to do or how to start, type this command: + +``` +npm run tips +``` + +> [!NOTE] +> If you don't want to set up a dev environment, you can run it in your browser: +> +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) +> +> We recommend that you fork our repository and then +> put `gitpod.io/# to start up a browser-based dev environment of your own. + +## About FreeSewing 💀 + +Where the world of makers and developers collide, that's where you'll find FreeSewing. + +If you're a maker, checkout [freesewing.eu](https://freesewing.eu/) where you can generate +sewing patterns adapted to your measurements. + +If you're a developer, the FreeSewing documentation lives at [freesewing.dev](https://freesewing.dev/). +The FreeSewing [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox +for parametric design of sewing patterns. But FreeSewing also provides a range +of [plugins](https://freesewing.dev/reference/plugins/) that further extend the +functionality of the platform. + +If you have NodeJS installed, you can try it right now by running: + +```bash +npx @freesewing/studio +``` + +Getting started guides are available for: +- [Linux](https://freesewing.dev/tutorials/getting-started-linux/) +- [MacOS](https://freesewing.dev/tutorials/getting-started-mac/) +- [Windows](https://freesewing.dev/tutorials/getting-started-windows/) + +The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will +show you how to create your first parametric design. + +## Getting started ⚡ + +To get started with FreeSewing, you can spin up our development environment with: + +```bash +npx @freesewing/studio +``` + +To work with FreeSewing's monorepo, you'll need [NodeJS v20](https://nodejs.org) on your system. +Once you have that, clone (or fork) this repo and run `npm run kickstart`: + +```bash +git clone git@codeberg.org:freesewing/freesewing.git +cd freesewing +npm run kickstart +``` + +## Links 👩‍💻 + +**Official channels** + + - 💻 Makers website: [FreeSewing.eu](https://freesewing.eu/) + - 💻 Developers website: [FreeSewing.dev](https://freesewing.dev/) + - ✅ [Support](https://forum.freesewing.eu/), + [Issues](https://codeberg.org/freesewing/freesewing/issues) & + [Codeberg](https://codeberg.org/freesewing/freesewing) + +**Social media** + + - 🐘 Mastodon: [@freesewing](https://freesewing.social/@freesewing) on [FreeSewing.social](https://freesewing.social/) + - 🐘 Mastodon: [@joost](https://freesewing.social/@joost) on [FreeSewing.social](https://freesewing.social/) + +**Places the FreeSewing community hangs out** + + - 💬 [Forum](https://forum.freesewing.eu/) + - 💬 [Discord](https://discord.freesewing.org/) + - 💬 [Reddit](https://www.reddit.com/r/freesewing/) + +## License: MIT 🤓 + +© [Joost De Cock](https://codeberg.org/joostdecock). +See [the license file](https://codeberg.org/freesewing/freesewing/blob/develop/LICENSE) for details. + +## Where to get help 🤯 + +For [Support](https://freesewing.eu/support), please use the [forum](https://forum.freesewing.eu). + diff --git a/packages/config/package.json b/packages/config/package.json new file mode 100644 index 00000000000..c18b21d024b --- /dev/null +++ b/packages/config/package.json @@ -0,0 +1,47 @@ +{ + "name": "@freesewing/config", + "version": "4.0.0", + "description": "Various configurations for FreeSewing", + "author": "Joost De Cock (https://github.com/joostdecock)", + "homepage": "https://freesewing.org/", + "repository": "github:freesewing/freesewing", + "license": "MIT", + "bugs": { + "url": "https://github.com/freesewing/freesewing/issues" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "keywords": [ + "freesewing", + "freesewing" + ], + "type": "module", + "module": "src/index.mjs", + "exports": { + ".": "./src/index.mjs" + }, + "scripts": { + "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", + "test": "echo \"config: No tests configured. Perhaps you could write some?\" && exit 0", + "tips": "node ../../scripts/help.mjs", + "lint": "npx eslint 'src/**' 'tests/*.mjs'" + }, + "peerDependencies": {}, + "dependencies": {}, + "devDependencies": {}, + "files": [ + "src/", + "i18n/", + "about.json", + "README.md" + ], + "publishConfig": { + "access": "public", + "tag": "latest" + }, + "engines": { + "node": ">= 20" + } +} diff --git a/packages/config/src/apikeys.mjs b/packages/config/src/apikeys.mjs new file mode 100644 index 00000000000..4a84f741ad2 --- /dev/null +++ b/packages/config/src/apikeys.mjs @@ -0,0 +1,11 @@ +export const apikeyLevels = { + 0: 'Authenticate only', + 1: 'Read access to your own patterns and measurements sets', + 2: 'Read access to all your account data', + 3: 'Write access to your own patterns and measurements sets', + 4: 'Write access to all your account data', + 5: 'Read access to patterns and measurements sets of other users', + 6: 'Write access to patterns and measurements sets of other users', + 7: 'Write access to all account data of other users', + 8: 'Impersonate other users, full write access to all data', +} diff --git a/packages/config/src/cloudflare.mjs b/packages/config/src/cloudflare.mjs new file mode 100644 index 00000000000..d74540b5f5d --- /dev/null +++ b/packages/config/src/cloudflare.mjs @@ -0,0 +1,6 @@ +export const cloudflare = { + account: 'edd96e8b19d1be5946c5f7983365bda4', + url: 'https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/', + variants: ['public', 'sq100', 'sq200', 'sq500', 'w200', 'w500', 'w1000', 'w2000'], + dflt: 'https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/365cc64e-1502-4d2b-60e0-cc8beee73f00/public', +} diff --git a/packages/config/src/control.mjs b/packages/config/src/control.mjs new file mode 100644 index 00000000000..0ed23116eff --- /dev/null +++ b/packages/config/src/control.mjs @@ -0,0 +1,169 @@ +/* + * This configuration file holds various control levels. + * Control is a setting that determines what to hide/show in the UI + * + * This file has the following named exports: + * + * accountControlLevels: Fields and control levels, and other account related settings + * controlLevels: Consolidated object holding all control levels + * defaultControlLevel: The default control level to apply when we have no user-specific level + * editorControlLevels: Configuration for the pattern editor + * + * They are all re-exported from index.mjs + */ + +/* + * The default control level in case we have nothing more specific + */ +const dflt = 3 + +/* + * Structure of the various account fields and their control levels + */ +const account = { + fields: { + data: { + bookmarks: 2, + sets: 1, + patterns: 1, + }, + info: { + img: 2, + bio: 2, + email: 3, + username: 2, + }, + settings: { + consent: 2, + compare: 3, + newsletter: 2, + units: 2, + control: 1, + }, + security: { + apikeys: 4, + mfa: 3, + password: 2, + }, + identities: { + github: 3, + instagram: 3, + mastodon: 3, + reddit: 3, + twitch: 3, + tiktok: 3, + website: 3, + }, + }, + sets: { + name: 1, + img: 1, + public: 3, + units: 1, + notes: 2, + createdAt: 2, + updatedAt: 2, + id: 4, + }, + patterns: { + name: 1, + img: 1, + public: 3, + notes: 2, + createdAt: 2, + updatedAt: 2, + id: 4, + }, + statuses: { + 0: { + name: 'inactive', + color: 'neutral', + }, + 1: { + name: 'active', + color: 'success', + }, + '-1': { + name: 'paused', + color: 'warning', + }, + '-2': { + name: 'disabled', + color: 'error', + }, + }, +} + +/* + * Editor control levels + */ +const editor = { + core: { + sa: 2, + paperless: 2, + locale: 3, + units: 1, + complete: 4, + expand: 4, + only: 4, + scale: 4, + margin: 4, + }, + ui: { + renderer: 4, + kiosk: 2, + }, + views: { + draft: 1, + measies: 1, + test: 3, + time: 3, + print: 1, + export: 1, + save: 1, + edit: 4, + logs: 2, + inspect: 4, + docs: 1, + }, +} + +export const control = { + account, + editor, + dflt, + flat: { + ...account.fields.data, + ...account.fields.info, + ...account.fields.settings, + ...account.fields.security, + ...account.fields.identities, + sets: account.sets, + core: editor.core, + ui: editor.ui, + views: editor.views, + }, +} + +export const controlDesc = { + 1: { + title: `Keep it as simple as possible`, + desc: `Hides all but the most crucial features.`, + }, + 2: { + title: `Keep it simple, but not too simple`, + desc: `Hides the majority of features.`, + }, + 3: { + title: `Balance simplicity with power`, + desc: `Reveals the majority of features, but not all.`, + }, + 4: { + title: `Give me all powers, but keep me safe`, + desc: `Reveals all features, keeps handrails and safety checks`, + }, + 5: { + title: `Get out of my way`, + desc: `Reveals all features, removes handrails and safety checks`, + }, +} diff --git a/packages/config/src/index.mjs b/packages/config/src/index.mjs new file mode 100644 index 00000000000..a29f3a6d38c --- /dev/null +++ b/packages/config/src/index.mjs @@ -0,0 +1,26 @@ +import { cloudflare } from './cloudflare.mjs' +import { control, controlDesc } from './control.mjs' +import { logoPath } from './logo.mjs' +import { measurements, degreeMeasurements, isDegreeMeasurement } from './measurements.mjs' +import { sewingTechniques } from './sewing.mjs' +import { roles, uiRoles } from './roles.mjs' +import { urls } from './urls.mjs' +import { apikeyLevels } from './apikeys.mjs' + +/* + * This top-level file bundles all (named) exports for the config package + */ +export { + apikeyLevels, + cloudflare, + control, + controlDesc, + logoPath, + measurements, + degreeMeasurements, + isDegreeMeasurement, + sewingTechniques, + roles, + uiRoles, + urls, +} diff --git a/config/logo.mjs b/packages/config/src/logo.mjs similarity index 98% rename from config/logo.mjs rename to packages/config/src/logo.mjs index 47f859b6d9a..22396f1c343 100644 --- a/config/logo.mjs +++ b/packages/config/src/logo.mjs @@ -1,2 +1,7 @@ +/* + * The actual pathString for the logo. Adapted for a 24x24 viewBox (like our icons) + * + * We keep this in its own file so it can be imported by pure NodeJS without JSX support + */ export const logoPath = 'm18.56 0c-0.4945 0.3515-0.469 0.3065-0.8685 0.437-0.916 0.2995-1.7945 0.135-2.837 0.048-0.3135-0.035-0.6245-0.0555-0.928-0.0575-1.5325-0.0105-2.834 0.439-3.0805 1.694-0.4545 0.2755-0.8725 0.609-1.2865 0.943-0.884 0.6975-1.5495 1.55-2.0035 2.5775-0.62 1.5175-0.06 3.146 0.2175 4.684 0.066 0.36 0.135 0.703 0.172 0.8355 0.0525 0.1865 0.145 0.3645 0.2455 0.5245 0.0235 4e-3 0.1475-0.187 0.177-0.2715 0.043-0.123 0.0385-0.3205-0.0085-0.4905-0.104-0.3825-0.203-0.693-0.2115-0.849-0.015-0.293 0.042-0.5635 0.149-0.6975 0.038-0.0475 0.125 0.1975 0.1025 0.2885-0.0265 0.1095-0.0465 0.297-0.038 0.3835 0.0235 0.293 0.0665 0.6065 0.12 0.8805 0.0685 0.3535 0.098 0.5805 0.0855 0.6685-9e-3 0.064-0.039 0.1285-0.154 0.3265-0.1 0.1735-0.152 0.314-0.16 0.438-0.0085 0.121 0.028 0.4235 0.062 0.4975 0.0495 0.1155 0.1985 0.237 0.3285 0.267 0.1245 0.0475 0.187 0.146 0.251 0.2565 0.1555 0.2965 0.2755 0.6575 0.3945 1.2015 0.058 0.2605 0.1065 0.493 0.122 0.615-0.96 1e-3 -2.1895 0.0015-3.3095 0.0015-0.377 6e-3 -1.058-0.171-1.6825-0.212-0.0905-0.977-0.5195-2.112-1.2535-2.178-0.501-0.0455-0.9165 0.145-1.268 0.9365l0.01 0.0425c0.2075-0.1735 0.4265-0.704 1.2155-0.6675 0.606 0.0275 0.808 1.1745 0.868 1.8645-0.369 0.027-0.683 0.1405-0.847 0.424h-0.0035c0 5e-4 0 0.0015 0.0015 0.0025-0.0015 1e-3 -0.0015 2e-3 -0.0015 3e-3h0.0035c0.169 0.2905 0.4945 0.403 0.877 0.4255 0.2555 7.225 7.047 8.157 8.903 8.157 6.924 0 9.348-4.705 9.7125-6.5685 0.1705 0.794-0.3665 1.8055-0.495 2.552 1.4605-1.6885 1.1965-3.312 0.9295-4.945 0.222 0.264 0.5225 0.4275 0.93 0.337-0.2905-0.194-0.6845-0.058-0.9205-0.8765-0.103-0.3535-0.192-0.6185-0.2805-0.841-0.191-0.7165-0.462-1.401-0.795-2.068-0.281-0.7235-0.0955-1.1925-0.1235-1.8135 0.5055 1.667 0.8215 2.1105 1.4115 2.285-1.484-1.788-0.976-4.5565-1.8145-7.0275 0.3795 0.223 0.8125 0.29 1.2735 0.0175-0.446-0.127-0.891 0.2085-1.531-0.732-0.5405-1.0515-1.3235-1.828-2.2735-2.513-0.509-0.332-1.074-0.555-1.642-0.762 0.5785-0.145 1.2245-0.66 1.2545-1.0445zm-0.9705 5.5535c0.762 0.278 1.602 1.334 1.5925 2.37v0.058c-0.0205 1.407-0.66 2.1635-0.633 3.1005 0.0345 1.1035 0.5095 1.4885 0.604 1.6725-0.162-0.6805-0.257-1.5365-0.043-2.2145 0.275-0.872 0.5525-1.594 0.5325-2.277-0.01-0.16-0.078-0.7585-0.1235-1.0235 0.817 1.179-0.177 2.8935 0.109 4.0155 0.497 1.9545 2.7245 2.2015 2.0615 6.1395-0.5835 3.462-4.5815 6.0895-8.6795 6.0895-3.038 0-8.3025-1.6815-8.5625-7.646 0.6175-0.044 1.2815-0.216 1.654-0.21 1.126 0 2.412 5e-4 3.381 1e-3 0.182 0.821 0.3185 1.019 1.009 1.566 0.768 0.604 0.947 0.6775 2.083 0.6885 1.1365 0.0115 1.4735-0.232 2.576-1.275 0.238-0.279 0.341-0.6445 0.4565-0.988 1.134-0.0105 1.961-0.0305 2.7745-0.0685 0.8285-0.0375 0.9455 0 2.2805-0.1375-1.335-0.1375-1.452-0.1-2.2805-0.138-0.792-0.036-1.594-0.0565-2.6785-0.0665 0.091-0.4085 0.221-0.8075 0.3595-1.202 0.0855-0.2325 0.186-0.459 0.289-0.6845l0.1125-0.035c0.217-0.077 0.409-0.242 0.4855-0.465 0.0985-0.2955 0.0285-0.6275-0.162-0.869-0.0655-0.0905-0.147-0.206-0.1805-0.257-0.1005-0.159-0.103-0.2475-0.018-0.8385 0.0715-0.495 0.0795-0.754 0.03-1.005-0.01-0.1435-0.011-0.4385-0.0155-0.518 0.038 0.021 0.1205 0.209 0.204 0.4635 0.083 0.2555 0.0965 0.3085 0.1155 0.526 0.021 0.247-0.0715 0.43-0.1475 0.7985-0.038 0.19-0.0715 0.3665-0.0715 0.3905 0 0.0255 0.018 0.0795 0.037 0.1215 0.0445 0.094 0.128 0.226 0.1435 0.226 0.2725-0.3005 0.4325-0.6715 0.575-1.048 0.15-0.426 0.194-0.878 0.299-1.3165 0.085-0.382 0.183-0.7645 0.2135-1.1565 0.0615-0.765 0.0255-1.305-0.1435-2.102-0.0405-0.18-0.1575-0.5235-0.239-0.6855zm-2.68 3.7685c0.2925-0.0035 0.582 0.032 0.8575 0.1115 0.3745 0.1435 0.427 0.478 0.496 0.8535 0.0385 0.24 0.037 0.4125-0.0065 0.6945-0.0305 0.409-0.193 0.7255-0.548 0.948-0.5355 0.099-1.108 0.1945-1.562-0.16-0.381-0.525-0.6105-1.1885-0.523-1.8355 0.0555-0.2655 0.179-0.4035 0.433-0.486 0.2735-0.0785 0.563-0.1215 0.853-0.126zm-4.4415 0.0475c0.2735-0.0025 0.55 0.0265 0.702 0.1235 0.6525 0.4415 0.443 1.16 0.185 1.7905-0.3755 0.8255-1.1875 0.795-1.9745 0.7885-0.4355-0.1275-0.4755-0.4845-0.5385-0.866-0.054-0.3685-0.169-0.7635-0.073-1.134 0.2465-0.596 1.1475-0.6645 1.699-0.7025zm9.9515 0.103c0.0035 1.5865 0.2745 2.366 0.8185 3.4895-0.3205-0.6115-0.7785-0.9595-0.949-1.6905-0.326-1.4115 0.0255-1.3325 0.1305-1.799zm-7.9065 1.149c0.086 0.087 0.1275 0.207 0.202 0.3025 0.0575-0.0985 0.1165-0.1965 0.1905-0.284 0.0385 1e-3 0.0855 0.077 0.128 0.213 0.182 0.503 0.2175 1.0565 0.4535 1.54 0.2205 0.35-0.0805 0.554-0.411 0.57-0.241-5e-4 -0.343-0.165-0.4845-0.328-0.0365 0.1065-0.106 0.175-0.189 0.247-0.211 0.177-0.6245 0.1115-0.6885-0.1675 0.085-0.533 0.3565-1.0225 0.5345-1.5335 0.0885-0.1865 0.0895-0.3295 0.2645-0.5595zm-3.096 2.6925c0.1065 0 0.399 0.1985 0.4585 0.3105 0.041 0.0745 0.1345 0.3645 0.141 0.435 0.0105 0.084-0.015 0.283-0.041 0.337-0.019 0.0385-0.0335 0.044-0.0555 0.019-0.0185-0.021-0.2635-0.491-0.42-0.802-0.123-0.249-0.136-0.2995-0.083-0.2995zm6.111 0.1555c4e-3 5e-4 0.01 2e-3 0.0155 0.0035 0.033 0.0135 0.01 0.1305-0.114 0.5555-0.0235 0.128-0.0805 0.229-0.164 0.313-0.0275 0-0.04-0.032-0.083-0.2095-0.0365-0.1515-0.0405-0.2865-0.015-0.4075 0.044-0.1515 0.222-0.198 0.3605-0.255zm-0.7415 0.9265c0.0105-2e-3 0.0205 0.0035 0.0335 0.014 0.045 0.0315 0.0515 0.1145 0.0215 0.277-0.0365 0.209-0.0445 0.232-0.0985 0.2535-0.0235 0.0105-0.0655 0.018-0.0935 0.018-0.0505-9e-3 -0.0635-0.05-0.0515-0.112 0-0.13 0.038-0.243 0.124-0.3765 0.0325-0.05 0.049-0.0715 0.0645-0.074zm-4.3165 0.0095c0.0345 0 0.1385 0.075 0.177 0.127 0.043 0.055 0.092 0.3825 0.0645 0.439-0.0315 0.071-0.1855 0.0355-0.228-0.053-0.026-0.053-0.0875-0.339-0.0875-0.407 0-0.063 0.0305-0.106 0.074-0.106zm3.9455 0.0865c0.042 0.06 0.053 0.137 0.044 0.306l-0.0085 0.154-0.044 0.044c-0.0265 0.0245-0.0715 0.0545-0.0985 0.067-0.0595 0.028-0.105 0.0305-0.1135 8e-3 -0.01-0.03 7e-3 -0.221 0.0255-0.2855 0.0215-0.0665 0.118-0.265 0.15-0.307 0.0145-0.0385 0.0315 0.0095 0.045 0.0135zm-2.5105-9e-3c0.0905 0.023 0.1305 0.1045 0.18 0.1785l0.0335 0.066-0.047 0.1635c-0.025 0.09-0.0515 0.171-0.0595 0.18-9e-3 0.01-0.0425 0.015-0.092 0.0145-0.132-0.0035-0.147-9e-3 -0.1825-0.063l-0.033-0.049 0.028-0.1375c0.0405-0.198 0.06-0.2575 0.105-0.3085 0.0235-0.0275 0.047-0.0425 0.0675-0.0445zm-0.8355 0.1415 0.0745 0.0745 0.0125 0.1685c0.0065 0.092 0.0095 0.1775 0.0045 0.188-0.0045 0.0145-0.0315 0.0185-0.115 0.0185h-0.1085c-0.058-0.0635-0.076-0.141-0.1005-0.221-0.057-0.2405-0.057-0.35 2e-3 -0.3645 0.0965 6e-3 0.16 0.076 0.2305 0.136zm2.9-0.1155c0.118 0.0315 0.0945 0.219 0.094 0.353-9e-3 0.217-0.0175 0.262-0.0455 0.29-0.0485 0.0485-0.1835 0.0215-0.249-0.0505-0.0215-0.026-0.0235-0.034-0.0065-0.1395 0.0195-0.1285 0.0445-0.2085 0.1-0.3185 0.0405-0.079 0.0785-0.1285 0.107-0.1345zm-2.663 0.01c0.0065-5e-4 0.017 0 0.027 1e-3 0.075 6e-3 0.145 0.055 0.207 0.145l0.05 0.0735c0.0045 0.1205 0 0.2475-0.0215 0.3595-0.013 0.0065-0.067 0.0165-0.12 0.0215-0.092 0.0085-0.1005 0.0065-0.1325-0.0215-0.0445-0.038-0.057-0.1085-0.068-0.3425-0.0065-0.191-2e-3 -0.2335 0.058-0.2365zm1.1345 0.04c0.0805 0.017 0.1315 0.06 0.154 0.1305 0.018 0.0605 0.029 0.399 0.0115 0.4225-6e-3 0.01-0.044 0.0225-0.0875 0.028-0.162 0.0205-0.305 5e-3 -0.319-0.0335-0.018-0.044 0.1025-0.48 0.147-0.534 0.019-0.042 0.065-0.0095 0.094-0.0135zm1.049 3e-3c0.0355-0.0035 0.0735 0.0305 0.1105 0.103 0.03 0.0605 0.0345 0.0815 0.0345 0.217 0 0.108-0.0065 0.1545-0.018 0.1645-0.01 8e-3 -0.0505 0.0225-0.0935 0.0335-0.075 0.0195-0.0915 0.0215-0.115 0.0135l-0.1125-0.0205 0.0085-0.067c8e-3 -0.0875 0.0655-0.2815 0.106-0.3655 0.024-0.05 0.0515-0.075 0.0795-0.0785zm-0.489 0.0015c0.0235-1e-3 0.0345 0.0045 0.0495 0.021 0.0355 0.042 0.0805 0.166 0.109 0.2985 0.038 0.1865 0.038 0.186-0.0435 0.2105-0.0355 0.011-0.1105 0.0225-0.164 0.0255-0.1765 9e-3 -0.19-0.0015-0.1685-0.1575 0.017-0.139 0.0855-0.358 0.115-0.374 0.032-0.017 0.069-0.0165 0.1025-0.024zm-8.9965 0.7045c0.0015-5e-4 0.0035 0 0.0035 0 0.0045 0.0975 0.0045 0.196 0.0065 0.294-0.2475-0.019-0.4295-0.078-0.4295-0.1475 0-0.0685 0.1755-0.127 0.4195-0.1465zm0.4325 0.0085c0.2005 0.025 0.339 0.0775 0.3365 0.138 0 0.061-0.134 0.113-0.333 0.1375-2e-3 -0.0915-2e-3 -0.1835-0.0035-0.2755zm9.363 0.2665c0.017-0.0015 0.0245-3e-3 0.0505-5e-4 0.104 0.0105 0.119 0.017 0.119 0.052 0 0.046-0.079 0.1845-0.1325 0.2325-0.025 0.024-0.0595 0.044-0.0715 0.044-0.06 0-0.095-0.1265-0.067-0.243 0.017-0.063 0.048-0.0825 0.1015-0.085zm-0.3775 0.0415c0.0465-4e-3 0.0915 0.0085 0.1365 0.0145-0.013 0.1315-0.072 0.239-0.1815 0.3105-0.027 0-0.0405-0.0515-0.0405-0.164 0-0.134 7e-3 -0.1595 0.0855-0.161zm-0.414 0.0485c0.0965 0 0.1815 0.0045 0.1855 0.01 0.018 0.017-0.034 0.146-0.1105 0.277-0.0655 0.1165-0.075 0.125-0.1155 0.128-0.159-0.018-0.1545-0.2045-0.179-0.3325 0-0.076 0.017-0.0825 0.2195-0.0825zm-1.5045 0.0145c0.1105 2e-3 0.1535 0.0185 0.1535 0.061 0 0.054-0.041 0.1615-0.0645 0.175-0.0355 0.0195-0.0385 0.0185-0.1085-0.0545-0.1105-0.124-0.123-0.147 0.0195-0.1815zm0.532 0.0055c2e-3 3e-3 0.0235 0.042 0.045 0.086 0.047 0.0915 0.0505 0.1315 0.017 0.162-0.079 0.045-0.0955 0.0195-0.167-0.026-0.083-0.0785-0.1485-0.184-0.127-0.206 0.074-0.0265 0.1555-0.0165 0.232-0.016zm0.211 0.0025 0.1975 0.0035c0.077 0 0.1435 4e-3 0.147 0.01 0.0135 0.012-0.03 0.269-0.0535 0.327-0.027 0.065-0.1215 0.0655-0.1705-0.0115-0.07-0.1105-0.116-0.2035-0.1175-0.2675z' diff --git a/config/measurements.mjs b/packages/config/src/measurements.mjs similarity index 100% rename from config/measurements.mjs rename to packages/config/src/measurements.mjs diff --git a/config/roles.mjs b/packages/config/src/roles.mjs similarity index 77% rename from config/roles.mjs rename to packages/config/src/roles.mjs index 0f7f3e9d888..83641f9fcaa 100644 --- a/config/roles.mjs +++ b/packages/config/src/roles.mjs @@ -13,3 +13,5 @@ export const roles = { }, base: 'user', } + +export const uiRoles = ['user', 'curator', 'support', 'admin'] diff --git a/config/sewing-techniques.mjs b/packages/config/src/sewing.mjs similarity index 100% rename from config/sewing-techniques.mjs rename to packages/config/src/sewing.mjs diff --git a/packages/config/src/urls.mjs b/packages/config/src/urls.mjs new file mode 100644 index 00000000000..c2b8e5c85d2 --- /dev/null +++ b/packages/config/src/urls.mjs @@ -0,0 +1,24 @@ +/* + * This configuration file exports various URLs. + */ +export const urls = { + // FreeSewing Backend + backend: 'https://backend.freesewing.eu', + // FreeSewing website + website: 'https://freesewing.eu', + // FreeSewing monorepo + monorepo: 'https://github.com/freesewing/freesewing', + // FreeSewing github organisation + github: 'https://github.com/freesewing', + // Social media and other account links for FreeSewing + social: { + YouTube: 'https://www.youtube.com/@freesewing', + Discord: 'https://discord.freesewing.org/', + Instagram: 'https://instagram.com/freesewing_org', + Facebook: 'https://www.facebook.com/groups/627769821272714/', + GitHub: 'https://github.com/freesewing', + Reddit: 'https://www.reddit.com/r/freesewing/', + Mastodon: 'https://freesewing.social/@freesewing', + Bluesky: 'https://bsky.app/profile/freesewing.org', + }, +} diff --git a/packages/config/src/wot.mjs b/packages/config/src/wot.mjs new file mode 100644 index 00000000000..782944c2064 --- /dev/null +++ b/packages/config/src/wot.mjs @@ -0,0 +1,31 @@ +/* + * This defines the FreeSewing web of trust + * See: https://FreeSewing.dev/reference/trust + */ +export const wot = { + trustees: { + 1: { + x: 1306, + y: 319, + title: 'joost', + in: 'Antwerp', + }, + 132: { + x: 457, + y: 345, + title: 'woutervdub', + in: 'Seattle', + }, + 13050: { + x: 668, + y: 399, + title: 'karen', + in: 'Chicago', + }, + }, + connections: [ + [1, 132], + [1, 13050], + ], + lastUpdate: '20240402', +} diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index ec2c4dfdbd7..9b4fe9dc7e1 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,6 +1,22 @@ # Change log for: @freesewing/core +## 4.0.0 (2024-04-01) + +### Breaking + + - FreeSewing new requires NodeJS 20 (or more recent) + - We removed all but English translations. We still support i18n in our core library and designs, but no longer provide translations + +### Added + + - The `Path.rotate()` method was added to the core API. + - The `Path.circleSegment()` method was added to the core API. + +### Fixed + + - Fix an issue when splitting path on start or end point. Fixes + ## 3.2.0 (2024-02-11) ### Added diff --git a/packages/core/README.md b/packages/core/README.md index 406a9bd14f7..ae30e9f4295 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:core - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/core @@ -59,7 +44,7 @@ A library for creating made-to-measure sewing patterns > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/packages/core/data.mjs b/packages/core/data.mjs deleted file mode 100644 index 656b15f086e..00000000000 --- a/packages/core/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/core' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/packages/core/package.json b/packages/core/package.json index a5e897f4af6..0f0df2cbe27 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/core", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "A library for creating made-to-measure sewing patterns", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -26,34 +26,23 @@ "sewing patterns" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "c8 mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", "lint": "npx eslint 'src/*.mjs' 'tests/*.mjs'", "report": "c8 report", "testci": "c8 mocha tests/*.test.mjs", "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "jsdoc": "jsdoc -c jsdoc.json -r src", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "jsdoc": "jsdoc -c jsdoc.json -r src" }, "peerDependencies": {}, "dependencies": { - "@freesewing/core-plugins": "3.3.0-rc.1", + "@freesewing/core-plugins": "4.0.0", "bezier-js": "6.1.4", "hooks": "0.3.2", "lodash.get": "4.4.2", @@ -69,14 +58,16 @@ "sinon": "^18.0.0" }, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/packages/core/src/index.mjs b/packages/core/src/index.mjs index bd581724564..32ec22b01fb 100644 --- a/packages/core/src/index.mjs +++ b/packages/core/src/index.mjs @@ -40,7 +40,9 @@ import { units, goldenRatio, } from './utils.mjs' -import { version } from '../data.mjs' +import about from '../about.json' with { type: 'json' } + +const version = about.version // Named exports export { diff --git a/packages/core/src/pattern/index.mjs b/packages/core/src/pattern/index.mjs index 197ed0b718e..8a42fe2cad3 100644 --- a/packages/core/src/pattern/index.mjs +++ b/packages/core/src/pattern/index.mjs @@ -4,7 +4,7 @@ import { Point } from '../point.mjs' import { Path } from '../path.mjs' import { Snippet } from '../snippet.mjs' import { Store } from '../store.mjs' -import { version } from '../../data.mjs' +import { version } from '../index.mjs' import { __loadPatternDefaults } from '../config.mjs' import { PatternConfig } from './pattern-config.mjs' import { PatternDrafter } from './pattern-drafter.mjs' diff --git a/packages/core/src/svg.mjs b/packages/core/src/svg.mjs index a27eca88187..3b5493afc22 100644 --- a/packages/core/src/svg.mjs +++ b/packages/core/src/svg.mjs @@ -1,7 +1,7 @@ import { Attributes } from './attributes.mjs' import { Defs } from './defs.mjs' import { __addNonEnumProp, round } from './utils.mjs' -import { version } from '../data.mjs' +import { version } from './index.mjs' ////////////////////////////////////////////// // CONSTRUCTOR // diff --git a/packages/i18n/CHANGELOG.md b/packages/i18n/CHANGELOG.md new file mode 100644 index 00000000000..0ff9933c505 --- /dev/null +++ b/packages/i18n/CHANGELOG.md @@ -0,0 +1,228 @@ +# Change log for: @freesewing/i18n + + +## 4.0.0 (2024-04-01) + +### Added + + - The `@freesewing/i18n` package holds translations in English for where they are needed + +## 3.0.0 (2023-09-30) + +### Changed + + - All FreeSewing packages are now ESM only. + - All FreeSewing packages now use named exports. + - Dropped support for NodeJS 14. NodeJS 18 (LTS/hydrogen) or more recent is now required. + +## 2.21.0 (2022-06-27) + +### Changed + + - Migrated from Rollup to Esbuild for all builds + +### Fixed + + - Added missing lab namespace for English + +## 2.20.2 (2022-01-27) + +### Fixed + + - Patterns options were always in English due to symlinks being used + +## 2.20.0 (2022-01-24) + +### Fixed + + - Fixed issue that was causing plugin translations to always be in English + +## 2.19.0 (2021-10-17) + +### Fixed + + - Fixed bug in resolving of shared pattern options + - Removed optional chaining which broke node v12 support + +## 2.18.0 (2021-09-09) + +### Added + + - Added translations for Yuri + +### Fixed + + - Added optional chaining so missing options always lead to clear error message + +## 2.17.3 (2021-08-16) + +### Added + + - New translations + +## 2.17.2 (2021-08-15) + +### Added + + - Added new ffsa option for simon & simone + +## 2.17.0 (2021-07-01) + +### Changed + + - Changed antman references to antperson + +## 2.16.2 (2021-05-05) + +### Changed + + - String updates + +## 2.16.1 (2021-05-30) + +### Added + + - New translations for pattern filter + +## 2.16.0 (2021-05-24) + +### Changed + + - Changes to cfp strings + +## 2.15.0 (2021-04-15) + +### Added + + - Added translation for new Titan options + - Added translations for Charlie + +## 2.14.0 (2021-03-07) + +### Added + + - Added translations for Cornelius + +## 2.13.0 (2021-02-13) + +### Added + + - Translation for Hortensia + +## 2.11.0 (2021-01-10) + +### Changed + + - New strings for new features + +### Fixed + + - Type in Simon title + +## 2.10.5 (2020-11-14) + +### Fixed + + - Added missing `cty.` translations to non-English language files + +## 2.9.0 (2020-10-02) + +### Added + + - Added translations for plugin-title + - Added translations for teagan + - Added some translations for the UI + +### Fixed + + - Replaced a few identical files with symlinks + +## 2.7.0 (2020-07-12) + +### Changed + + - Added translations for Titan + - Removed `Circumference` suffix from measurement names + +## 2.6.0 (2020-05-01) + +### Changed + + - Changes to support the renaming of @freesewing/fu to @freesewing/florence + +## 2.5.0 (2020-04-05) + +### Added + + - title, description, and options for Dianna + +## 2.4.6 (2020-03-23) + +### Fixed + + - Fixed an bug in the i18n package + +## 2.4.3 (2020-03-12) + +### Added + + - Added more translations + +## 2.4.2 (2020-03-08) + +### Added + + - Added more strings + +## 2.2.0 (2020-02-22) + +### Added + + - Added translations for Breanna + +### Changed + + - Added/Updated strings for the 2.2 frontend changes + - Changed `Joost De Cock` to `Joost` because spam filters don't like cock + +### Removed + + - Removed the files for homepage translation, and moved that content to markdown + - Removed the files for editor translation, as it is no longer used + +## 2.1.3 (2019-10-18) + +### Added + + - More translated strings + +## 2.1.2 (2019-10-14) + +### Fixed + + - Fixed issue where symlinks were causing all languages to export English strings + +## 2.1.0 (2019-10-06) + +### Added + + - Added translations for Penelope, Waralee, and Simone + +## 2.0.2 (2019-09-06) + +### Added + + - [#90](https://github.com/freesewing/freesewing/issues/90): Added missing option translations for Benjamin, Florent, Sandy, Shin, and Theo + +## 2.0.0 (2019-08-25) + +### Added + + - Initial release + + +This is the **initial release**, and the start of this change log. + +> Prior to version 2, FreeSewing was not a JavaScript project. +> As such, that history is out of scope for this change log. + diff --git a/packages/i18n/README.md b/packages/i18n/README.md new file mode 100644 index 00000000000..418e12bd4df --- /dev/null +++ b/packages/i18n/README.md @@ -0,0 +1,143 @@ +

@freesewing/i18n on NPM + License: MIT + All Contributors +

Follow @freesewing_org on Twitter + Chat with us on Discord + Become a FreeSewing Patron +

+ +# @freesewing/i18n + +Translation for the FreeSewing project + + + +# FreeSewing + +> [!TIP] +>#### Support FreeSewing: Become a patron, or make a one-time donation 🥰 +> +> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. +> +> If you feel FreeSewing is worthwhile, and you can spend a few coins without +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). + +## What am I looking at? 🤔 + +This repository is the FreeSewing *monorepo* holding all FreeSewing's websites, documentation, designs, plugins, and other NPM packages. + +This folder holds: @freesewing/i18n + +If you're not entirely sure what to do or how to start, type this command: + +``` +npm run tips +``` + +> [!NOTE] +> If you don't want to set up a dev environment, you can run it in your browser: +> +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) +> +> We recommend that you fork our repository and then +> put `gitpod.io/# to start up a browser-based dev environment of your own. + +## About FreeSewing 💀 + +Where the world of makers and developers collide, that's where you'll find FreeSewing. + +If you're a maker, checkout [freesewing.eu](https://freesewing.eu/) where you can generate +sewing patterns adapted to your measurements. + +If you're a developer, the FreeSewing documentation lives at [freesewing.dev](https://freesewing.dev/). +The FreeSewing [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox +for parametric design of sewing patterns. But FreeSewing also provides a range +of [plugins](https://freesewing.dev/reference/plugins/) that further extend the +functionality of the platform. + +If you have NodeJS installed, you can try it right now by running: + +```bash +npx @freesewing/studio +``` + +Getting started guides are available for: +- [Linux](https://freesewing.dev/tutorials/getting-started-linux/) +- [MacOS](https://freesewing.dev/tutorials/getting-started-mac/) +- [Windows](https://freesewing.dev/tutorials/getting-started-windows/) + +The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will +show you how to create your first parametric design. + +## Getting started ⚡ + +To get started with FreeSewing, you can spin up our development environment with: + +```bash +npx @freesewing/studio +``` + +To work with FreeSewing's monorepo, you'll need [NodeJS v20](https://nodejs.org) on your system. +Once you have that, clone (or fork) this repo and run `npm run kickstart`: + +```bash +git clone git@codeberg.org:freesewing/freesewing.git +cd freesewing +npm run kickstart +``` + +## Links 👩‍💻 + +**Official channels** + + - 💻 Makers website: [FreeSewing.eu](https://freesewing.eu/) + - 💻 Developers website: [FreeSewing.dev](https://freesewing.dev/) + - ✅ [Support](https://forum.freesewing.eu/), + [Issues](https://codeberg.org/freesewing/freesewing/issues) & + [Codeberg](https://codeberg.org/freesewing/freesewing) + +**Social media** + + - 🐘 Mastodon: [@freesewing](https://freesewing.social/@freesewing) on [FreeSewing.social](https://freesewing.social/) + - 🐘 Mastodon: [@joost](https://freesewing.social/@joost) on [FreeSewing.social](https://freesewing.social/) + +**Places the FreeSewing community hangs out** + + - 💬 [Forum](https://forum.freesewing.eu/) + - 💬 [Discord](https://discord.freesewing.org/) + - 💬 [Reddit](https://www.reddit.com/r/freesewing/) + +## License: MIT 🤓 + +© [Joost De Cock](https://codeberg.org/joostdecock). +See [the license file](https://codeberg.org/freesewing/freesewing/blob/develop/LICENSE) for details. + +## Where to get help 🤯 + +For [Support](https://freesewing.eu/support), please use the [forum](https://forum.freesewing.eu). + diff --git a/packages/i18n/package.json b/packages/i18n/package.json new file mode 100644 index 00000000000..083fd4869e1 --- /dev/null +++ b/packages/i18n/package.json @@ -0,0 +1,51 @@ +{ + "name": "@freesewing/i18n", + "version": "4.0.0", + "description": "Translation for the FreeSewing project", + "author": "Joost De Cock (https://github.com/joostdecock)", + "homepage": "https://freesewing.org/", + "repository": "github:freesewing/freesewing", + "license": "MIT", + "bugs": { + "url": "https://github.com/freesewing/freesewing/issues" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "keywords": [ + "freesewing", + "i18n", + "internationalisation", + "languages", + "localisation", + "translation" + ], + "type": "module", + "module": "src/index.mjs", + "exports": { + ".": "./src/index.mjs" + }, + "scripts": { + "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", + "test": "echo \"i18n: No tests configured. Perhaps you could write some?\" && exit 0", + "tips": "node ../../scripts/help.mjs", + "lint": "npx eslint 'src/**' 'tests/*.mjs'" + }, + "peerDependencies": {}, + "dependencies": {}, + "devDependencies": {}, + "files": [ + "src/", + "i18n/", + "about.json", + "README.md" + ], + "publishConfig": { + "access": "public", + "tag": "latest" + }, + "engines": { + "node": ">= 20" + } +} diff --git a/packages/i18n/src/flags.mjs b/packages/i18n/src/flags.mjs new file mode 100644 index 00000000000..1a697d4a15b --- /dev/null +++ b/packages/i18n/src/flags.mjs @@ -0,0 +1,26 @@ +export const flags = { + apply: 'Apply', + decrease: 'Decrease', + disable: 'Disable', + dismiss: 'Dismiss', + 'expandIsOff.t': 'This design saves space (and trees) because expand is disabled', + 'expandIsOff.d': + 'Because the **expand** core setting is currently disabled, some parts are not fully drawn or not shown at all. Typically, these are simple rectangles that only take up space, or things that can be cut on the fold. \n\nTo expand all pattern parts to their full size, enable the expand setting.', + 'expandIsOn.t': 'This design can save space (and trees)', + 'expandIsOn.d': + 'Because the **expand** core setting is currently enabled, all parts are fully drawn. You can display this design in a more compact way by disabling the **expand** setting. \n\nDoing so will mean that some parts are not fully drawn or not shown at all. Typically, these are simple rectangles that only take up space, or things that can be cut on the fold.', + enable: 'Enable', + 'flagMenu.t': 'Messages from the designer', + 'flagMenuOne.d': + 'The designer of this pattern has flagged something about your current draft that deserves your attention.', + 'flagMenuMany.d': + 'The designer of this pattern has flagged some things about your current draft that deserve your attention.', + hide: 'Hide', + increase: 'Increase', + show: 'Show', + saIncluded: '(This includes seam allowance)', + saExcluded: '(This does not include seam allowance)', + saUnused: '(This part does not require any seam allowance)', + partHiddenByExpand: + 'This part is not shown because the **expand** core setting is currently disabled. Enable it to show this pattern part.', +} diff --git a/packages/i18n/src/index.mjs b/packages/i18n/src/index.mjs new file mode 100644 index 00000000000..c4bd6916d92 --- /dev/null +++ b/packages/i18n/src/index.mjs @@ -0,0 +1,4 @@ +import { flags } from './flags.mjs' +import { measurements } from './measurements.mjs' + +export { flags, measurements } diff --git a/packages/i18n/src/measurements.mjs b/packages/i18n/src/measurements.mjs new file mode 100644 index 00000000000..b1e8beccc75 --- /dev/null +++ b/packages/i18n/src/measurements.mjs @@ -0,0 +1,40 @@ +export const measurements = { + ankle: 'Ankle circumference', + biceps: 'Biceps circumference', + bustFront: 'Bust front', + bustPointToUnderbust: 'Bust point to underbust', + bustSpan: 'Bust span', + chest: 'Chest circumference', + crossSeam: 'Cross seam', + crossSeamFront: 'Cross seam front', + head: 'Head circumference', + heel: 'Heel circumference', + highBustFront: 'High bust front', + highBust: 'High bust', + hips: 'Hips circumference', + hpsToBust: 'HPS to bust', + hpsToWaistBack: 'HPS to waist back', + hpsToWaistFront: 'HPS to waist front', + inseam: 'Inseam', + knee: 'Knee circumference', + neck: 'Neck circumference', + seat: 'Seat circumference', + seatBack: 'Seat back', + crotchDepth: 'Crotch depth', + shoulderSlope: 'Shoulder slope', + shoulderToElbow: 'Shoulder to elbow', + shoulderToShoulder: 'Shoulder to shoulder', + shoulderToWrist: 'Shoulder to wrist', + underbust: 'Underbust', + upperLeg: 'Upper leg circumference', + waist: 'Waist circumference', + waistBack: 'Waist back', + waistToArmpit: 'Waist to armpit', + waistToFloor: 'Waist to floor', + waistToHips: 'Waist to hips', + waistToKnee: 'Waist to knee', + waistToSeat: 'Waist to seat', + waistToUnderbust: 'Waist to underbust', + waistToUpperLeg: 'Waist to upper leg', + wrist: 'Wrist circumference', +} diff --git a/packages/models/README.md b/packages/models/README.md index 5d4b0b5199a..9eafc24831b 100644 --- a/packages/models/README.md +++ b/packages/models/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:models - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/models @@ -106,7 +91,7 @@ The digits in the model refer to the neck circumference in cm. > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -123,7 +108,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/packages/models/data.mjs b/packages/models/data.mjs deleted file mode 100644 index 6d0025546d7..00000000000 --- a/packages/models/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/models' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/packages/models/package.json b/packages/models/package.json index 21bf12b2362..3789be1f322 100644 --- a/packages/models/package.json +++ b/packages/models/package.json @@ -1,6 +1,6 @@ { "name": "@freesewing/models", - "version": "3.3.0-rc.1", + "version": "4.0.0", "description": "Body measurements data for a range of default sizes", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -22,39 +22,30 @@ "sizes" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - } + ".": "./src/index.mjs" }, "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", - "lint": "npx eslint 'src/**' 'tests/*.mjs'", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" + "lint": "npx eslint 'src/**' 'tests/*.mjs'" }, "peerDependencies": {}, "dependencies": {}, "devDependencies": {}, "files": [ - "dist/*", + "src/", + "i18n/", + "about.json", "README.md" ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/packages/models/src/index.mjs b/packages/models/src/index.mjs index c9654422691..310abe8d11b 100644 --- a/packages/models/src/index.mjs +++ b/packages/models/src/index.mjs @@ -1,5 +1,5 @@ import { measurements, neckstimate, CISFEMALE, CISMALE } from './neckstimate.mjs' -import { degreeMeasurements } from '../../../config/measurements.mjs' +import { degreeMeasurements } from '@freesewing/config' const getMeasurements = (size, index) => { const all = {} diff --git a/packages/new-design/CHANGELOG.md b/packages/new-design/CHANGELOG.md deleted file mode 100644 index 0223cdefee0..00000000000 --- a/packages/new-design/CHANGELOG.md +++ /dev/null @@ -1,33 +0,0 @@ -# Change log for: @freesewing/new-design - - -## 3.1.0 (2023-12-26) - -### Fixed - - - Removed unwanted debug output - -## 3.0.0 (2023-09-30) - -### Changed - - - All FreeSewing packages are now ESM only. - - All FreeSewing packages now use named exports. - - Dropped support for NodeJS 14. NodeJS 18 (LTS/hydrogen) or more recent is now required. - -## 2.21.3 (2022-07-02) - -### Changed - - - We're now loading content from the main branch by default - -### Fixed - - - Add bin entry to package.json - - -This is the **initial release**, and the start of this change log. - -> Prior to version 2, FreeSewing was not a JavaScript project. -> As such, that history is out of scope for this change log. - diff --git a/packages/new-design/README.md b/packages/new-design/README.md deleted file mode 100644 index 34f7e17ec0c..00000000000 --- a/packages/new-design/README.md +++ /dev/null @@ -1,162 +0,0 @@ -

@freesewing/new-design on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:new-design - All Contributors -

Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

- -# @freesewing/new-design - -Initializer package for a new FreeSewing design: npx @freesewing/new-design - - - -# FreeSewing - -> [!TIP] ->#### Support FreeSewing: Become a patron, or make a one-time donation 🥰 -> -> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. -> -> If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## What am I looking at? 🤔 - -This repository is the FreeSewing *monorepo* holding all FreeSewing's websites, documentation, designs, plugins, and other NPM packages. - -This folder holds: @freesewing/new-design - -If you're not entirely sure what to do or how to start, type this command: - -``` -npm run tips -``` - -> [!NOTE] -> If you don't want to set up a dev environment, you can run it in your browser: -> -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) -> -> We recommend that you fork our repository and then -> put `gitpod.io/# to start up a browser-based dev environment of your own. - -## About FreeSewing 💀 - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -sewing patterns adapted to your measurements. - -If you're a developer, the FreeSewing documentation lives at [freesewing.dev](https://freesewing.dev/). -The FreeSewing [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But FreeSewing also provides a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx @freesewing/new-design -``` - -Getting started guides are available for: -- [Linux](https://freesewing.dev/tutorials/getting-started-linux/) -- [MacOS](https://freesewing.dev/tutorials/getting-started-mac/) -- [Windows](https://freesewing.dev/tutorials/getting-started-windows/) - -The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will -show you how to create your first parametric design. - -## Getting started ⚡ - -To get started with FreeSewing, you can spin up our development environment with: - -```bash -npx @freesewing/new-design -``` - -To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system. -Once you have those, clone (or fork) this repo and run `yarn kickstart`: - -```bash -git clone git@github.com:freesewing/freesewing.git -cd freesewing -yarn kickstart -``` - -## Links 👩‍💻 - -**Official channels** - - - 💻 Makers website: [FreeSewing.org](https://freesewing.org) - - 💻 Developers website: [FreeSewing.dev](https://freesewing.dev) - - ✅ [Support](https://github.com/freesewing/freesewing/issues/new/choose), - [Issues](https://github.com/freesewing/freesewing/issues) & - [Discussions](https://github.com/freesewing/freesewing/discussions) on - [GitHub](https://github.com/freesewing/freesewing) - -**Social media** - - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -**Places the FreeSewing community hangs out** - - - 💬 [Discord](https://discord.freesewing.org/) - - 💬 [Facebook](https://www.facebook.com/groups/627769821272714/) - - 💬 [Reddit](https://www.reddit.com/r/freesewing/) - -## License: MIT 🤓 - -© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🤯 - -For [Support](https://github.com/freesewing/freesewing/issues/new/choose), -please use the [Issues](https://github.com/freesewing/freesewing/issues) & -[Discussions](https://github.com/freesewing/freesewing/discussions) on -[GitHub](https://github.com/freesewing/freesewing). - diff --git a/packages/new-design/build.mjs b/packages/new-design/build.mjs deleted file mode 100644 index 8c8dc8293c0..00000000000 --- a/packages/new-design/build.mjs +++ /dev/null @@ -1,45 +0,0 @@ -/* This script will build the package with esbuild */ -import esbuild from 'esbuild' -import pkg from './package.json' assert { type: '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} - */` - -// Let esbuild generate the build -let result -;(async () => { - result = await esbuild - .build({ - banner: { - js: - banner + - '\n' + - `import { createRequire } from 'module';` + - '\n' + - `const require = createRequire(import.meta.url);`, - }, - bundle: true, - entryPoints: ['index.mjs'], - format: 'esm', - outfile: 'dist/index.mjs', - external: ['fs'], - metafile: process.env.VERBOSE ? true : false, - minify: process.env.NO_MINIFY ? false : true, - sourcemap: true, - platform: 'node', - }) - .catch((err) => { - console.log(err) - process.exit(1) - }) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -})() diff --git a/packages/new-design/data.mjs b/packages/new-design/data.mjs deleted file mode 100644 index 2d1fd1b961b..00000000000 --- a/packages/new-design/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/new-design' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/packages/new-design/i18n/de.json b/packages/new-design/i18n/de.json deleted file mode 100644 index ed4e2757202..00000000000 --- a/packages/new-design/i18n/de.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "author": "Autor", - "githubRepo": "GitHub-Repository", - "packageManager": "Paket-Manager", - "designName": "Name des Designs", - "designType": "Entwurfstyp", - "designCreated": "Dein Entwurfsskelett wurde erstellt unter", - "runTheseCommands": "Um loszulegen, führe diesen Befehl aus", - "startRollup": "In einem Terminal startest du den Rollup-Bundler im Beobachtungsmodus", - "startWebpack": "Dadurch wird der 'example'-Ordner betreten und die Entwicklungsumgebung gestartet.", - "devDocsAvailableAt": "Entwicklerdokumentation ist verfügbar auf", - "talkToUs": "Für Fragen, Feedback oder Anregungen trete unserem Discord-Server bei", - "draftYourDesign": "Entwirf dein Design", - "testYourDesign": "Teste deinen Entwurf", - "draftThing": "{thing} erstellen", - "testThing": "{thing} testen", - "renderInBrowser": "Klicke unten, um dein Design im Browser darzustellen.", - "weWillReRender": "Wenn du Änderungen vornimmst, werden wir es erneut für dich rendern.", - "youCan": "Du kannst", - "enterMeasurements": "Maße von Hand eingeben", - "preloadMeasurements": "Einen bestehenden Satz an Maßen einlesen", - "size": "Größe", - "noRequiredMeasurements": "Dieses Schnittmuster hat keine benötigten Maße", - "howtoAddMeasurements": "Um Maße als Anforderung zu definieren, füge sie der Sektion measurements in der Konfigurationsdatei des Schnittmusters hinzu.", - "seeDocsAt": "Dokumentation zu diesem Thema ist verfügbar unter", - "clearDesignMode": "Designmodus leeren", - "designMode": "Designmodus", - "exportMode": "Exportmodus", - "thingIsEnabled": "{thing} ist aktiviert", - "thingIsDisabled": "{thing} ist deaktiviert", - "turnOn": "Aktivieren", - "turnOff": "Deaktivieren", - "validNameWarning": "Bitte wähle einen anderen Namen, da dieser Name Probleme verursachen würde.\nWir verwenden den Entwurfsnamen (auch) als NPM-Paketnamen.\nPaketnamen müssen kleingeschrieben sein und dürfen keine Sonderzeichen enthalten.\nBitte nenne dein Design also dementsprechend, z. B.:" -} diff --git a/packages/new-design/i18n/en.json b/packages/new-design/i18n/en.json deleted file mode 100644 index 589b13a6531..00000000000 --- a/packages/new-design/i18n/en.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "author": "Author", - "githubRepo": "GitHub repository", - "packageManager": "Package manager", - "designName": "Design name", - "designType": "Design type", - "designCreated": "Your design skeleton has been created at", - "runTheseCommands": "To get started, run this command", - "startRollup": "In one terminal, start the rollup bundler in watch mode", - "startWebpack": "It will enter the 'example' folder, and start the development environment.", - "devDocsAvailableAt": "Developer documentation is available at", - "talkToUs": "For questions, feedback or suggestions, join our Discord server", - "draftYourDesign": "Draft your design", - "testYourDesign": "Test your design", - "draftThing": "Draft {thing}", - "testThing": "Test {thing}", - "renderInBrowser": "Click below to render your design in the browser.", - "weWillReRender": "When you make changes, we will re-render for you.", - "youCan": "You can", - "enterMeasurements": "Enter measurements by hand", - "preloadMeasurements": "Preload a set of measurements", - "size": "Size", - "noRequiredMeasurements": "This design has no required measurements", - "howtoAddMeasurements": "To require measurements, add them to the measurements section of the design's configuration file.", - "seeDocsAt": "Documentation on this topic is available at", - "clearDesignMode": "Clear design mode", - "designMode": "Design mode", - "exportMode": "Export mode", - "thingIsEnabled": "{thing} is enabled", - "thingIsDisabled": "{thing} is disabled", - "turnOn": "Turn on", - "turnOff": "Turn off", - "validNameWarning": "Please pick a different name as this name would cause problems.\nWe (re-)use the design name as the NPM package name.\nPackage names must be lowercase and cannot contain special characters.\nSo please name your design accordingly, like:" -} diff --git a/packages/new-design/i18n/es.json b/packages/new-design/i18n/es.json deleted file mode 100644 index 2c00f2da6d9..00000000000 --- a/packages/new-design/i18n/es.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "author": "Autor", - "githubRepo": "Repositorio GitHub", - "packageManager": "Gestor de paquetes", - "designName": "Nombre del diseño", - "designType": "Tipo de diseño", - "designCreated": "El esqueleto de tu diseño se ha creado en", - "runTheseCommands": "Para empezar, ejecuta este comando", - "startRollup": "En una terminal, inicia el paquete de rollup en modo reloj", - "startWebpack": "Entrará en la carpeta \"ejemplo\" e iniciará el entorno de desarrollo.", - "devDocsAvailableAt": "Documentación para desarrolladores está disponible en", - "talkToUs": "Para preguntas, comentarios o sugerencias, únete a nuestro servidor de Discord", - "draftYourDesign": "Redacta tu diseño", - "testYourDesign": "Prueba tu diseño", - "draftThing": "Trazar {thing} ", - "testThing": "Prueba {thing}", - "renderInBrowser": "Haz clic abajo para representar tu diseño en el navegador.", - "weWillReRender": "Cuando realices cambios, lo volveremos a trazar para ti.", - "youCan": "Puedes", - "enterMeasurements": "Introducir medidas a mano", - "preloadMeasurements": "Precarga un conjunto de medidas", - "size": "Tamaño", - "noRequiredMeasurements": "Este diseño no tiene medidas obligatorias", - "howtoAddMeasurements": "Para exigir mediciones, añádelas a la sección measurements del archivo de configuración del diseño.", - "seeDocsAt": "La documentación sobre este tema está disponible en", - "clearDesignMode": "Borrar modo de diseño", - "designMode": "Modo de diseño", - "exportMode": "Modo de exportación", - "thingIsEnabled": "{thing} está habilitado", - "thingIsDisabled": "{thing} está deshabilitado", - "turnOn": "Encender", - "turnOff": "Apagar", - "validNameWarning": "Por favor, elige un nombre diferente, ya que este nombre podría causar problemas.\nNosotros (re)utilizamos el nombre del diseño como nombre del paquete NPM.\nLos nombres de los paquetes deben estar en minúsculas y no pueden contener caracteres especiales.\nAsí que, por favor, ponle a tu diseño un nombre acorde, como" -} diff --git a/packages/new-design/i18n/fr.json b/packages/new-design/i18n/fr.json deleted file mode 100644 index 49107983954..00000000000 --- a/packages/new-design/i18n/fr.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "author": "Auteur", - "githubRepo": "Répertoire GitHub", - "packageManager": "Gestionnaire de package", - "designName": "Nom du modèle", - "designType": "Type de conception", - "designCreated": "Ton squelette de design a été créé à", - "runTheseCommands": "Pour commencer, exécutez cette commande", - "startRollup": "Dans un terminal, démarrez le bundler rollup en mode watch", - "startWebpack": "Il entrera dans le dossier 'exemple' et démarrera l'environnement de développement.", - "devDocsAvailableAt": "La documentation pour développeur est disponible sur", - "talkToUs": "Pour des questions, commentaires ou suggestions, rejoignez notre serveur Discord", - "draftYourDesign": "Fais une ébauche de ton design", - "testYourDesign": "Teste ton design", - "draftThing": "Ébauche de {thing}", - "testThing": "Tester {thing}", - "renderInBrowser": "Clique ci-dessous pour afficher ton dessin dans le navigateur.", - "weWillReRender": "Lorsque vous effectuez des modifications, nous mettons à jour le rendu pour vous.", - "youCan": "Vous pouvez", - "enterMeasurements": "Entrer des mesures manuellement", - "preloadMeasurements": "Pré-charger un set de mesures", - "size": "Taille", - "noRequiredMeasurements": "Ce design n'a pas de mesures requises", - "howtoAddMeasurements": "Pour exiger des mesures, ajoute-les à la section measurements du fichier de configuration du design.", - "seeDocsAt": "La documentation à ce sujet est disponible sur", - "clearDesignMode": "Vider le mode design", - "designMode": "Mode design", - "exportMode": "Mode d'export", - "thingIsEnabled": "{thing} est activé", - "thingIsDisabled": "{thing} est désactivé", - "turnOn": "Activer", - "turnOff": "Désactiver", - "validNameWarning": "Choisis un autre nom, car celui-ci poserait des problèmes.\nNous (ré)utilisons le nom du design comme nom de paquet NPM.\nLes noms de paquets doivent être en minuscules et ne peuvent pas contenir de caractères spéciaux.\nNomme donc ton design en conséquence, par exemple :" -} diff --git a/packages/new-design/i18n/nl.json b/packages/new-design/i18n/nl.json deleted file mode 100644 index ab353ead0a5..00000000000 --- a/packages/new-design/i18n/nl.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "author": "Auteur", - "githubRepo": "GitHub repository", - "packageManager": "Pakketbeheerder", - "designName": "Naam ontwerp", - "designType": "Type ontwerp", - "designCreated": "Je ontwerpskelet is gemaakt op", - "runTheseCommands": "Voer dit commando uit om aan de slag te gaan", - "startRollup": "In één terminal, start de rollup bundler in de volgmodus", - "startWebpack": "Het zal de map 'voorbeeld' invoeren en de ontwikkelingsomgeving starten.", - "devDocsAvailableAt": "Documentatie voor ontwikkelaars is beschikbaar op", - "talkToUs": "Voor vragen, feedback of suggesties, neem deel aan onze Discord server", - "draftYourDesign": "Ontwerp je ontwerp", - "testYourDesign": "Test je ontwerp", - "draftThing": "Teken {thing}", - "testThing": "Test {thing}", - "renderInBrowser": "Klik hieronder om je patroon in de browser te tonen.", - "weWillReRender": "Wanneer je wijzigingen maakt, renderen we opnieuw.", - "youCan": "Je kan", - "enterMeasurements": "Maten manueel invoeren", - "preloadMeasurements": "Een set van maten inladen", - "size": "Maat", - "noRequiredMeasurements": "Dit patroon heeft geen vereiste maten", - "howtoAddMeasurements": "Om maten te vereisen, voeg je ze toe aan de measurements sectie van het configuratiebestand van het patroon.", - "seeDocsAt": "Documentatie over dit onderwerp is beschikbaar op", - "clearDesignMode": "Ontwerp modus wissen", - "designMode": "Ontwerp modus", - "exportMode": "Export modus", - "thingIsEnabled": "{thing} is ingeschakeld", - "thingIsDisabled": "{thing} is uitgeschakeld", - "turnOn": "Inschakelen", - "turnOff": "Uitschakelen", - "validNameWarning": "Kies een andere naam, deze zou voor problemen zorgen.\nWe (her)gebruiken de patroonnaam als naam voor het NPM-pakket.\nPakketnamen mogen geen hoofdletters of speciale tekens bevatten.\nDus geef je patroon een geschikte naam, zoals:" -} diff --git a/packages/new-design/i18n/uk.json b/packages/new-design/i18n/uk.json deleted file mode 100644 index dcc0fa28f31..00000000000 --- a/packages/new-design/i18n/uk.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "author": "Автор", - "githubRepo": "Репозиторій GitHub", - "packageManager": "Менеджер пакунків", - "designName": "Назва дизайну", - "designType": "Тип конструкції", - "designCreated": "Скелет вашого дизайну був створений на", - "runTheseCommands": "Щоб розпочати, запустіть цю команду", - "startRollup": "У одному терміналі запустіть ролап у режимі перегляду", - "startWebpack": "Це відкриє папку \"приклад\" та запустить девелопмент.", - "devDocsAvailableAt": "Документація для розробників доступна за адресою", - "talkToUs": "Для запитань, відгуків чи пропозицій, приєднуйтесь до нашого серверу в Discord", - "draftYourDesign": "Створіть свій дизайн", - "testYourDesign": "Перевірте свій дизайн", - "draftThing": "Створити {thing}", - "testThing": "Протестувати {thing}", - "renderInBrowser": "Натисніть нижче, щоб відобразити ваш дизайн у браузері.", - "weWillReRender": "Коли Ви виконаєте зміни, ми перезавантажимо зображення для Вас.", - "youCan": "Ви можете", - "enterMeasurements": "Ввести вимірювання вручну", - "preloadMeasurements": "Завантажити набір мірок", - "size": "Розмір", - "noRequiredMeasurements": "Ця конструкція не має необхідних розмірів", - "howtoAddMeasurements": "Щоб вимагати вимірювання, додайте їх до розділу measurements конфігураційного файлу проекту.", - "seeDocsAt": "Документація по цій темі доступна за адресою", - "clearDesignMode": "Очистити режим дизайну", - "designMode": "Режим дизайну", - "exportMode": "Режим експорту", - "thingIsEnabled": "{thing} увімкнено", - "thingIsDisabled": "{thing} вимкнено", - "turnOn": "Увімкнути", - "turnOff": "Вимкнути", - "validNameWarning": "Будь ласка, оберіть іншу назву, оскільки ця назва може спричинити проблеми.\nМи (повторно) використовуємо назву дизайну як назву пакунку NPM.\nНазви пакунків мають бути маленькими літерами і не можуть містити спеціальних символів.\nТому, будь ласка, назвіть свій дизайн відповідно, наприклад" -} diff --git a/packages/new-design/index.mjs b/packages/new-design/index.mjs deleted file mode 100755 index bd79ef34527..00000000000 --- a/packages/new-design/index.mjs +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env node -import { cli } from './lib/cli.mjs' - -cli() - -/* - - ___ ___ _ - | __| _ ___ ___/ __| _____ __ _(_)_ _ __ _ - | _| '_/ -_) -_)__ \/ -_) V V / | ' \/ _` | - |_||_| \___\___|___/\___|\_/\_/|_|_||_\__, | - ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡|___/ - Come for the sewing patterns - Stay for the community - - - */ - diff --git a/packages/new-design/lib/config.mjs b/packages/new-design/lib/config.mjs deleted file mode 100644 index a5d2deca46e..00000000000 --- a/packages/new-design/lib/config.mjs +++ /dev/null @@ -1,113 +0,0 @@ -import { version } from '../data.mjs' -import { downloads } from './download-list.mjs' - -export const config = { - // Whether we're publishing next or latest tags - tag: 'next', - // Minimum node version - node: 18, - // Site to download from - fileUri: 'https://raw.githubusercontent.com', - // Repository to download from - repo: process.env.FS_REPO || 'freesewing/freesewing', - // Branch to download from - branch: process.env.FS_BRANCH || `v${version}`, - i18n: [ - 'account', - 'common', - 'patrons', - 'themes', - 'workbench', - 'errors', - 'i18n', - 'sde', - 'measurements', - 'optiongroups', - 'o_bella', - 'o_bent', - 'o_breanna', - 'o_brian', - 'o_titan', - 'parts', - 'plugin', - 'settings', - 'welcome', - ], - gitignore: ` -# See https://help.github.com/ignore-files/ for more about ignoring files. - -# dependencies -node_modules - -# builds -dist -.next - -# misc -.DS_Store -.env -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -`, - fetch: { - config: [ - { - from: 'measurements.mjs', - to: 'shared/config/measurements.mjs', - }, - { - from: 'social.mjs', - to: 'shared/config/social.mjs', - }, - { - from: 'roles.mjs', - to: 'shared/config/roles.mjs', - }, - ], - sites: [ - // Mock MDX components - ...[ - 'highlight', - 'youtube', - 'read-more', - 'tabbed-example', - 'http', - 'legend', - 'docs-helpers', - ].map((file) => ({ - from: `sde/mock/${file}.mjs`, - to: `shared/components/mdx/${file}.mjs`, - })), - // Mock various other files - { - from: `sde/mock/info.mjs`, - to: `shared/components/designs/info.mjs`, - }, - { - from: `sde/mock/designs.mjs`, - to: `shared/config/designs.mjs`, - }, - { - from: `sde/mock/linedrawings.mjs`, - to: `shared/components/designs/linedrawings/index.mjs`, - }, - // .env file - { - from: 'sde/env.local', - to: 'sde/.env.local', - }, - ...downloads.sites, - ], - packages: downloads.pkgs.map((file) => ({ - from: file, - to: `pkgs/${file}`, - })), - }, -} diff --git a/packages/new-design/lib/download-list.mjs b/packages/new-design/lib/download-list.mjs deleted file mode 100644 index e8c60c24feb..00000000000 --- a/packages/new-design/lib/download-list.mjs +++ /dev/null @@ -1,735 +0,0 @@ -export const downloads = { - 'sites': [ - 'sde/README.md', - 'sde/env.local', - 'sde/i18n.config.mjs', - 'sde/next-i18next.config.js', - 'sde/next.config.mjs', - 'sde/package.json', - 'sde/postcss.config.js', - 'sde/site.config.mjs', - 'sde/tailwind.config.mjs', - 'sde/hooks/use-design.mjs', - 'sde/mock/designs.mjs', - 'sde/mock/docs-helpers.mjs', - 'sde/mock/highlight.mjs', - 'sde/mock/http.mjs', - 'sde/mock/info.mjs', - 'sde/mock/legend.mjs', - 'sde/mock/linedrawings.mjs', - 'sde/mock/read-more.mjs', - 'sde/mock/tabbed-example.mjs', - 'sde/mock/youtube.mjs', - 'sde/pkgs/.gitkeep', - 'sde/prebuild/.gitkeep', - 'sde/prebuild/sitenav.en.mjs', - 'sde/prebuild/sitenav.es.mjs', - 'sde/prebuild/sitenav.fr.mjs', - 'sde/prebuild/sitenav.mjs', - 'sde/prebuild/sitenav.nl.mjs', - 'sde/prebuild/sitenav.uk.mjs', - 'sde/prebuild/sluglut.mjs', - 'sde/prebuild/sitenav.de.mjs', - 'sde/components/design-examples.mjs', - 'sde/components/dynamic-org-docs.mjs', - 'sde/components/feeds.mjs', - 'sde/components/search.mjs', - 'sde/components/header/index.mjs', - 'sde/components/header/design-picker.mjs', - 'sde/components/layouts/bare.mjs', - 'sde/components/layouts/default.mjs', - 'sde/components/layouts/workbench.mjs', - 'sde/components/wrappers/page.mjs', - 'sde/components/navigation/modal-menu.mjs', - 'sde/pages/_app.mjs', - 'sde/pages/account.mjs', - 'sde/pages/design.mjs', - 'sde/pages/index.mjs', - 'sde/pages/design/[design].mjs', - 'sde/pages/sde/en.yaml', - 'sde/pages/sde/es.yaml', - 'sde/pages/sde/de.yaml', - 'sde/pages/sde/fr.yaml', - 'sde/pages/sde/index.mjs', - 'sde/pages/sde/uk.yaml', - 'sde/pages/sde/nl.yaml', - 'sde/pages/signup/index.mjs', - 'sde/pages/signin/index.mjs', - 'sde/pages/signin/callback/[provider].mjs', - 'sde/design/from-bella/en.json', - 'sde/design/from-bella/src/back.mjs', - 'sde/design/from-bella/src/front.mjs', - 'sde/design/from-bella/src/index.mjs', - 'sde/design/from-bella/i18n/de.json', - 'sde/design/from-bella/i18n/en.json', - 'sde/design/from-bella/i18n/es.json', - 'sde/design/from-bella/i18n/index.mjs', - 'sde/design/from-bella/i18n/fr.json', - 'sde/design/from-bella/i18n/nl.json', - 'sde/design/from-bella/i18n/uk.json', - 'sde/design/from-bent/i18n/de.json', - 'sde/design/from-bent/i18n/en.json', - 'sde/design/from-bent/i18n/es.json', - 'sde/design/from-bent/i18n/fr.json', - 'sde/design/from-bent/i18n/nl.json', - 'sde/design/from-bent/i18n/index.mjs', - 'sde/design/from-bent/i18n/uk.json', - 'sde/design/from-bent/src/front.mjs', - 'sde/design/from-bent/src/back.mjs', - 'sde/design/from-bent/src/index.mjs', - 'sde/design/from-bent/src/under-sleeve.mjs', - 'sde/design/from-bent/src/top-sleeve.mjs', - 'sde/design/from-breanna/i18n/de.json', - 'sde/design/from-breanna/i18n/en.json', - 'sde/design/from-breanna/i18n/index.mjs', - 'sde/design/from-breanna/i18n/nl.json', - 'sde/design/from-breanna/i18n/fr.json', - 'sde/design/from-breanna/i18n/es.json', - 'sde/design/from-breanna/i18n/uk.json', - 'sde/design/from-breanna/src/back.mjs', - 'sde/design/from-breanna/src/front.mjs', - 'sde/design/from-breanna/src/index.mjs', - 'sde/design/from-breanna/src/sleeve.mjs', - 'sde/design/from-titan/i18n/de.json', - 'sde/design/from-titan/i18n/es.json', - 'sde/design/from-titan/i18n/en.json', - 'sde/design/from-titan/i18n/index.mjs', - 'sde/design/from-titan/i18n/fr.json', - 'sde/design/from-titan/i18n/uk.json', - 'sde/design/from-titan/i18n/nl.json', - 'sde/design/from-titan/src/back.mjs', - 'sde/design/from-titan/src/front.mjs', - 'sde/design/from-titan/src/index.mjs', - 'sde/design/tutorial/i18n/es.json', - 'sde/design/tutorial/i18n/en.json', - 'sde/design/tutorial/i18n/de.json', - 'sde/design/tutorial/i18n/fr.json', - 'sde/design/tutorial/i18n/index.mjs', - 'sde/design/tutorial/i18n/nl.json', - 'sde/design/tutorial/i18n/uk.json', - 'sde/design/tutorial/src/bib.mjs', - 'sde/design/tutorial/src/index.mjs', - 'sde/design/from-scratch/i18n/de.json', - 'sde/design/from-scratch/i18n/en.json', - 'sde/design/from-scratch/i18n/nl.json', - 'sde/design/from-scratch/i18n/uk.json', - 'sde/design/from-scratch/i18n/index.mjs', - 'sde/design/from-scratch/i18n/es.json', - 'sde/design/from-scratch/i18n/fr.json', - 'sde/design/from-scratch/src/bib.mjs', - 'sde/design/from-scratch/src/index.mjs', - 'sde/design/from-brian/i18n/de.json', - 'sde/design/from-brian/i18n/en.json', - 'sde/design/from-brian/i18n/fr.json', - 'sde/design/from-brian/i18n/nl.json', - 'sde/design/from-brian/i18n/es.json', - 'sde/design/from-brian/i18n/index.mjs', - 'sde/design/from-brian/i18n/uk.json', - 'sde/design/from-brian/src/back.mjs', - 'sde/design/from-brian/src/front.mjs', - 'sde/design/from-brian/src/index.mjs', - 'sde/design/from-brian/src/sleeve.mjs', - 'sde/public/brands/bugsnag.svg', - 'sde/public/brands/algolia.svg', - 'sde/public/brands/netlify.svg', - 'sde/public/brands/vercel.svg', - 'sde/public/brands/crowdin.svg', - 'sde/public/img/lineup-backdrop.svg', - 'sde/public/locales/es/account.json', - 'sde/public/locales/es/auth.json', - 'sde/public/locales/es/bella.json', - 'sde/public/locales/es/bent.json', - 'sde/public/locales/es/breanna.json', - 'sde/public/locales/es/brian.json', - 'sde/public/locales/es/common.json', - 'sde/public/locales/es/core-settings.json', - 'sde/public/locales/es/curate.json', - 'sde/public/locales/es/cut.json', - 'sde/public/locales/es/design-options.json', - 'sde/public/locales/es/designs.json', - 'sde/public/locales/es/docs.json', - 'sde/public/locales/es/errors.json', - 'sde/public/locales/es/flag.json', - 'sde/public/locales/es/footer.json', - 'sde/public/locales/es/frombella.json', - 'sde/public/locales/es/frombent.json', - 'sde/public/locales/es/frombreanna.json', - 'sde/public/locales/es/fromscratch.json', - 'sde/public/locales/es/fromtitan.json', - 'sde/public/locales/es/frombrian.json', - 'sde/public/locales/es/gdpr.json', - 'sde/public/locales/es/hodl.json', - 'sde/public/locales/es/header.json', - 'sde/public/locales/es/homepage.json', - 'sde/public/locales/es/lab.json', - 'sde/public/locales/es/locales.json', - 'sde/public/locales/es/logs.json', - 'sde/public/locales/es/measurements.json', - 'sde/public/locales/es/modal.json', - 'sde/public/locales/es/newsletter.json', - 'sde/public/locales/es/patrons.json', - 'sde/public/locales/es/plugin-annotations.json', - 'sde/public/locales/es/plugins.json', - 'sde/public/locales/es/popout.json', - 'sde/public/locales/es/print.json', - 'sde/public/locales/es/sde.json', - 'sde/public/locales/es/roles.json', - 'sde/public/locales/es/sections.json', - 'sde/public/locales/es/sets.json', - 'sde/public/locales/es/sponsors.json', - 'sde/public/locales/es/stats.json', - 'sde/public/locales/es/status.json', - 'sde/public/locales/es/submissions.json', - 'sde/public/locales/es/support.json', - 'sde/public/locales/es/susi.json', - 'sde/public/locales/es/tags.json', - 'sde/public/locales/es/techniques.json', - 'sde/public/locales/es/themes.json', - 'sde/public/locales/es/timeago.json', - 'sde/public/locales/es/titan.json', - 'sde/public/locales/es/tutorial.json', - 'sde/public/locales/es/ui-settings.json', - 'sde/public/locales/es/workbench.json', - 'sde/public/locales/fr/account.json', - 'sde/public/locales/fr/auth.json', - 'sde/public/locales/fr/bella.json', - 'sde/public/locales/fr/bent.json', - 'sde/public/locales/fr/breanna.json', - 'sde/public/locales/fr/brian.json', - 'sde/public/locales/fr/common.json', - 'sde/public/locales/fr/core-settings.json', - 'sde/public/locales/fr/curate.json', - 'sde/public/locales/fr/cut.json', - 'sde/public/locales/fr/designs.json', - 'sde/public/locales/fr/docs.json', - 'sde/public/locales/fr/errors.json', - 'sde/public/locales/fr/flag.json', - 'sde/public/locales/fr/design-options.json', - 'sde/public/locales/fr/footer.json', - 'sde/public/locales/fr/frombella.json', - 'sde/public/locales/fr/frombent.json', - 'sde/public/locales/fr/frombreanna.json', - 'sde/public/locales/fr/frombrian.json', - 'sde/public/locales/fr/fromscratch.json', - 'sde/public/locales/fr/fromtitan.json', - 'sde/public/locales/fr/gdpr.json', - 'sde/public/locales/fr/hodl.json', - 'sde/public/locales/fr/header.json', - 'sde/public/locales/fr/lab.json', - 'sde/public/locales/fr/locales.json', - 'sde/public/locales/fr/logs.json', - 'sde/public/locales/fr/homepage.json', - 'sde/public/locales/fr/measurements.json', - 'sde/public/locales/fr/modal.json', - 'sde/public/locales/fr/newsletter.json', - 'sde/public/locales/fr/plugin-annotations.json', - 'sde/public/locales/fr/plugins.json', - 'sde/public/locales/fr/popout.json', - 'sde/public/locales/fr/print.json', - 'sde/public/locales/fr/sde.json', - 'sde/public/locales/fr/sections.json', - 'sde/public/locales/fr/patrons.json', - 'sde/public/locales/fr/sets.json', - 'sde/public/locales/fr/roles.json', - 'sde/public/locales/fr/status.json', - 'sde/public/locales/fr/sponsors.json', - 'sde/public/locales/fr/submissions.json', - 'sde/public/locales/fr/stats.json', - 'sde/public/locales/fr/susi.json', - 'sde/public/locales/fr/tags.json', - 'sde/public/locales/fr/techniques.json', - 'sde/public/locales/fr/themes.json', - 'sde/public/locales/fr/support.json', - 'sde/public/locales/fr/timeago.json', - 'sde/public/locales/fr/titan.json', - 'sde/public/locales/fr/tutorial.json', - 'sde/public/locales/fr/ui-settings.json', - 'sde/public/locales/fr/workbench.json', - 'sde/public/locales/de/account.json', - 'sde/public/locales/de/auth.json', - 'sde/public/locales/de/bella.json', - 'sde/public/locales/de/bent.json', - 'sde/public/locales/de/breanna.json', - 'sde/public/locales/de/brian.json', - 'sde/public/locales/de/common.json', - 'sde/public/locales/de/curate.json', - 'sde/public/locales/de/core-settings.json', - 'sde/public/locales/de/cut.json', - 'sde/public/locales/de/design-options.json', - 'sde/public/locales/de/designs.json', - 'sde/public/locales/de/flag.json', - 'sde/public/locales/de/docs.json', - 'sde/public/locales/de/footer.json', - 'sde/public/locales/de/errors.json', - 'sde/public/locales/de/frombella.json', - 'sde/public/locales/de/frombent.json', - 'sde/public/locales/de/frombrian.json', - 'sde/public/locales/de/fromtitan.json', - 'sde/public/locales/de/gdpr.json', - 'sde/public/locales/de/header.json', - 'sde/public/locales/de/fromscratch.json', - 'sde/public/locales/de/frombreanna.json', - 'sde/public/locales/de/hodl.json', - 'sde/public/locales/de/homepage.json', - 'sde/public/locales/de/lab.json', - 'sde/public/locales/de/locales.json', - 'sde/public/locales/de/logs.json', - 'sde/public/locales/de/measurements.json', - 'sde/public/locales/de/modal.json', - 'sde/public/locales/de/newsletter.json', - 'sde/public/locales/de/patrons.json', - 'sde/public/locales/de/plugin-annotations.json', - 'sde/public/locales/de/plugins.json', - 'sde/public/locales/de/popout.json', - 'sde/public/locales/de/print.json', - 'sde/public/locales/de/roles.json', - 'sde/public/locales/de/sde.json', - 'sde/public/locales/de/sections.json', - 'sde/public/locales/de/sets.json', - 'sde/public/locales/de/sponsors.json', - 'sde/public/locales/de/stats.json', - 'sde/public/locales/de/status.json', - 'sde/public/locales/de/submissions.json', - 'sde/public/locales/de/support.json', - 'sde/public/locales/de/susi.json', - 'sde/public/locales/de/tags.json', - 'sde/public/locales/de/techniques.json', - 'sde/public/locales/de/themes.json', - 'sde/public/locales/de/timeago.json', - 'sde/public/locales/de/titan.json', - 'sde/public/locales/de/tutorial.json', - 'sde/public/locales/de/ui-settings.json', - 'sde/public/locales/de/workbench.json', - 'sde/public/locales/en/account.json', - 'sde/public/locales/en/auth.json', - 'sde/public/locales/en/bella.json', - 'sde/public/locales/en/bent.json', - 'sde/public/locales/en/breanna.json', - 'sde/public/locales/en/brian.json', - 'sde/public/locales/en/common.json', - 'sde/public/locales/en/core-settings.json', - 'sde/public/locales/en/curate.json', - 'sde/public/locales/en/cut.json', - 'sde/public/locales/en/design-options.json', - 'sde/public/locales/en/designs.json', - 'sde/public/locales/en/docs.json', - 'sde/public/locales/en/errors.json', - 'sde/public/locales/en/flag.json', - 'sde/public/locales/en/footer.json', - 'sde/public/locales/en/frombella.json', - 'sde/public/locales/en/frombent.json', - 'sde/public/locales/en/frombreanna.json', - 'sde/public/locales/en/frombrian.json', - 'sde/public/locales/en/fromscratch.json', - 'sde/public/locales/en/fromtitan.json', - 'sde/public/locales/en/gdpr.json', - 'sde/public/locales/en/header.json', - 'sde/public/locales/en/hodl.json', - 'sde/public/locales/en/homepage.json', - 'sde/public/locales/en/lab.json', - 'sde/public/locales/en/locales.json', - 'sde/public/locales/en/logs.json', - 'sde/public/locales/en/measurements.json', - 'sde/public/locales/en/modal.json', - 'sde/public/locales/en/newsletter.json', - 'sde/public/locales/en/patrons.json', - 'sde/public/locales/en/plugin-annotations.json', - 'sde/public/locales/en/plugins.json', - 'sde/public/locales/en/popout.json', - 'sde/public/locales/en/print.json', - 'sde/public/locales/en/roles.json', - 'sde/public/locales/en/sde.json', - 'sde/public/locales/en/sections.json', - 'sde/public/locales/en/sets.json', - 'sde/public/locales/en/sponsors.json', - 'sde/public/locales/en/stats.json', - 'sde/public/locales/en/status.json', - 'sde/public/locales/en/submissions.json', - 'sde/public/locales/en/support.json', - 'sde/public/locales/en/susi.json', - 'sde/public/locales/en/tags.json', - 'sde/public/locales/en/techniques.json', - 'sde/public/locales/en/themes.json', - 'sde/public/locales/en/timeago.json', - 'sde/public/locales/en/titan.json', - 'sde/public/locales/en/tutorial.json', - 'sde/public/locales/en/ui-settings.json', - 'sde/public/locales/en/workbench.json', - 'sde/public/locales/nl/account.json', - 'sde/public/locales/nl/auth.json', - 'sde/public/locales/nl/bella.json', - 'sde/public/locales/nl/bent.json', - 'sde/public/locales/nl/breanna.json', - 'sde/public/locales/nl/brian.json', - 'sde/public/locales/nl/common.json', - 'sde/public/locales/nl/core-settings.json', - 'sde/public/locales/nl/curate.json', - 'sde/public/locales/nl/cut.json', - 'sde/public/locales/nl/design-options.json', - 'sde/public/locales/nl/designs.json', - 'sde/public/locales/nl/docs.json', - 'sde/public/locales/nl/errors.json', - 'sde/public/locales/nl/flag.json', - 'sde/public/locales/nl/footer.json', - 'sde/public/locales/nl/frombella.json', - 'sde/public/locales/nl/frombent.json', - 'sde/public/locales/nl/frombreanna.json', - 'sde/public/locales/nl/frombrian.json', - 'sde/public/locales/nl/fromscratch.json', - 'sde/public/locales/nl/fromtitan.json', - 'sde/public/locales/nl/gdpr.json', - 'sde/public/locales/nl/header.json', - 'sde/public/locales/nl/hodl.json', - 'sde/public/locales/nl/homepage.json', - 'sde/public/locales/nl/lab.json', - 'sde/public/locales/nl/locales.json', - 'sde/public/locales/nl/logs.json', - 'sde/public/locales/nl/measurements.json', - 'sde/public/locales/nl/modal.json', - 'sde/public/locales/nl/newsletter.json', - 'sde/public/locales/nl/patrons.json', - 'sde/public/locales/nl/plugin-annotations.json', - 'sde/public/locales/nl/plugins.json', - 'sde/public/locales/nl/popout.json', - 'sde/public/locales/nl/print.json', - 'sde/public/locales/nl/roles.json', - 'sde/public/locales/nl/sde.json', - 'sde/public/locales/nl/sections.json', - 'sde/public/locales/nl/sets.json', - 'sde/public/locales/nl/sponsors.json', - 'sde/public/locales/nl/stats.json', - 'sde/public/locales/nl/status.json', - 'sde/public/locales/nl/submissions.json', - 'sde/public/locales/nl/support.json', - 'sde/public/locales/nl/susi.json', - 'sde/public/locales/nl/tags.json', - 'sde/public/locales/nl/techniques.json', - 'sde/public/locales/nl/themes.json', - 'sde/public/locales/nl/timeago.json', - 'sde/public/locales/nl/titan.json', - 'sde/public/locales/nl/tutorial.json', - 'sde/public/locales/nl/ui-settings.json', - 'sde/public/locales/nl/workbench.json', - 'sde/public/locales/uk/account.json', - 'sde/public/locales/uk/auth.json', - 'sde/public/locales/uk/bella.json', - 'sde/public/locales/uk/bent.json', - 'sde/public/locales/uk/breanna.json', - 'sde/public/locales/uk/brian.json', - 'sde/public/locales/uk/common.json', - 'sde/public/locales/uk/core-settings.json', - 'sde/public/locales/uk/curate.json', - 'sde/public/locales/uk/cut.json', - 'sde/public/locales/uk/design-options.json', - 'sde/public/locales/uk/designs.json', - 'sde/public/locales/uk/docs.json', - 'sde/public/locales/uk/errors.json', - 'sde/public/locales/uk/flag.json', - 'sde/public/locales/uk/footer.json', - 'sde/public/locales/uk/frombella.json', - 'sde/public/locales/uk/frombent.json', - 'sde/public/locales/uk/frombreanna.json', - 'sde/public/locales/uk/frombrian.json', - 'sde/public/locales/uk/fromscratch.json', - 'sde/public/locales/uk/fromtitan.json', - 'sde/public/locales/uk/gdpr.json', - 'sde/public/locales/uk/header.json', - 'sde/public/locales/uk/hodl.json', - 'sde/public/locales/uk/homepage.json', - 'sde/public/locales/uk/lab.json', - 'sde/public/locales/uk/locales.json', - 'sde/public/locales/uk/logs.json', - 'sde/public/locales/uk/measurements.json', - 'sde/public/locales/uk/modal.json', - 'sde/public/locales/uk/newsletter.json', - 'sde/public/locales/uk/patrons.json', - 'sde/public/locales/uk/plugin-annotations.json', - 'sde/public/locales/uk/plugins.json', - 'sde/public/locales/uk/popout.json', - 'sde/public/locales/uk/print.json', - 'sde/public/locales/uk/roles.json', - 'sde/public/locales/uk/sde.json', - 'sde/public/locales/uk/sections.json', - 'sde/public/locales/uk/sets.json', - 'sde/public/locales/uk/sponsors.json', - 'sde/public/locales/uk/stats.json', - 'sde/public/locales/uk/status.json', - 'sde/public/locales/uk/submissions.json', - 'sde/public/locales/uk/support.json', - 'sde/public/locales/uk/susi.json', - 'sde/public/locales/uk/tags.json', - 'sde/public/locales/uk/techniques.json', - 'sde/public/locales/uk/themes.json', - 'sde/public/locales/uk/timeago.json', - 'sde/public/locales/uk/titan.json', - 'sde/public/locales/uk/tutorial.json', - 'sde/public/locales/uk/ui-settings.json', - 'sde/public/locales/uk/workbench.json', - 'shared/utils.mjs', - 'shared/components/icons.mjs', - 'shared/components/mdx/design-options.mjs', - 'shared/components/mdx/dynamic.mjs', - 'shared/components/mdx/index.mjs', - 'shared/components/mdx/design-measurements.mjs', - 'shared/components/header.mjs', - 'shared/components/wrappers/header.mjs', - 'shared/components/wrappers/context.mjs', - 'shared/components/wrappers/layout.mjs', - 'shared/components/wrappers/auth/index.mjs', - 'shared/components/wrappers/page.mjs', - 'shared/components/wrappers/modal.mjs', - 'shared/components/wrappers/swipes.mjs', - 'shared/components/wrappers/mdx.mjs', - 'shared/components/wrappers/chart.mjs', - 'shared/components/footer/index.mjs', - 'shared/components/v3-wip.mjs', - 'shared/components/designs/difficulty.mjs', - 'shared/components/designs/info.mjs', - 'shared/components/buttons/continue-button.mjs', - 'shared/components/copy-to-clipboard.mjs', - 'shared/components/patrons/plea.mjs', - 'shared/components/patrons/please-subscribe.mjs', - 'shared/components/patrons/subscribe.mjs', - 'shared/components/spinner.mjs', - 'shared/components/choice-link.mjs', - 'shared/components/navigation/sections-menu.mjs', - 'shared/components/navigation/primary.mjs', - 'shared/components/navigation/sitenav.mjs', - 'shared/components/logos/freesewing.mjs', - 'shared/components/bookmarks.mjs', - 'shared/components/susi/sign-in.mjs', - 'shared/components/susi/sign-up.mjs', - 'shared/components/robot/index.mjs', - 'shared/components/robot/poses.mjs', - 'shared/components/code-box.mjs', - 'shared/components/collapse.mjs', - 'shared/components/sponsors/crowdin.mjs', - 'shared/components/sponsors/vercel.mjs', - 'shared/components/sponsors/algolia.mjs', - 'shared/components/sponsors/index.mjs', - 'shared/components/sponsors/bugsnag.mjs', - 'shared/components/gdpr/form.mjs', - 'shared/components/gdpr/details.mjs', - 'shared/components/social/icons.mjs', - 'shared/components/tabs.mjs', - 'shared/components/support/support.mjs', - 'shared/components/workbench/header.mjs', - 'shared/components/workbench/new.mjs', - 'shared/components/workbench/pan-zoom-pattern.mjs', - 'shared/components/workbench/exporting/pdf-maker.mjs', - 'shared/components/workbench/exporting/export-worker.js', - 'shared/components/workbench/exporting/export-handler.mjs', - 'shared/components/workbench/exporting/pdf.mjs', - 'shared/components/workbench/exporting/single-pdf-maker.mjs', - 'shared/components/workbench/menus/design-options/values.mjs', - 'shared/components/workbench/menus/design-options/index.mjs', - 'shared/components/workbench/menus/design-options/inputs.mjs', - 'shared/components/workbench/menus/mobile-menubar.mjs', - 'shared/components/workbench/menus/core-settings/values.mjs', - 'shared/components/workbench/menus/core-settings/index.mjs', - 'shared/components/workbench/menus/core-settings/inputs.mjs', - 'shared/components/workbench/menus/core-settings/config.mjs', - 'shared/components/workbench/menus/ui-settings/values.mjs', - 'shared/components/workbench/menus/ui-settings/index.mjs', - 'shared/components/workbench/menus/ui-settings/inputs.mjs', - 'shared/components/workbench/menus/ui-settings/config.mjs', - 'shared/components/workbench/menus/shared/menu-wrapper.mjs', - 'shared/components/workbench/menus/shared/menu-item.mjs', - 'shared/components/workbench/menus/shared/values.mjs', - 'shared/components/workbench/menus/shared/index.mjs', - 'shared/components/workbench/menus/shared/inputs.mjs', - 'shared/components/workbench/pattern/utils.mjs', - 'shared/components/workbench/pattern/pan-zoom-context.mjs', - 'shared/components/workbench/pattern/movable/stack.mjs', - 'shared/components/workbench/pattern/movable/transform-buttons.mjs', - 'shared/components/workbench/pattern/movable/index.mjs', - 'shared/components/workbench/views/draft/header.mjs', - 'shared/components/workbench/views/draft/menu.mjs', - 'shared/components/workbench/views/draft/index.mjs', - 'shared/components/workbench/views/inspect/menu.mjs', - 'shared/components/workbench/views/inspect/inspector/menu.mjs', - 'shared/components/workbench/views/inspect/inspector/stack.mjs', - 'shared/components/workbench/views/inspect/inspector/shared.mjs', - 'shared/components/workbench/views/inspect/inspector/point.mjs', - 'shared/components/workbench/views/inspect/inspector/pattern.mjs', - 'shared/components/workbench/views/inspect/inspector/path.mjs', - 'shared/components/workbench/views/inspect/index.mjs', - 'shared/components/workbench/views/test/menu.mjs', - 'shared/components/workbench/views/test/options.mjs', - 'shared/components/workbench/views/test/index.mjs', - 'shared/components/workbench/views/test/measurements.mjs', - 'shared/components/workbench/views/flags.mjs', - 'shared/components/workbench/views/docs/index.mjs', - 'shared/components/workbench/views/print/menu.mjs', - 'shared/components/workbench/views/print/index.mjs', - 'shared/components/workbench/views/print/settings.mjs', - 'shared/components/workbench/views/print/actions.mjs', - 'shared/components/workbench/views/print/config.mjs', - 'shared/components/workbench/views/time/index.mjs', - 'shared/components/workbench/views/exporting/index.mjs', - 'shared/components/workbench/views/edit/settings-validator.mjs', - 'shared/components/workbench/views/edit/index.mjs', - 'shared/components/workbench/views/logs/errors.mjs', - 'shared/components/workbench/views/logs/index.mjs', - 'shared/components/workbench/views/pattern-with-menu.mjs', - 'shared/components/workbench/views/cut/menu.mjs', - 'shared/components/workbench/views/cut/hooks.mjs', - 'shared/components/workbench/views/cut/index.mjs', - 'shared/components/workbench/views/cut/settings.mjs', - 'shared/components/workbench/views/measies/index.mjs', - 'shared/components/workbench/views/measies/editor.mjs', - 'shared/components/workbench/views/save/index.mjs', - 'shared/components/link.mjs', - 'shared/components/curated-sets.mjs', - 'shared/components/popout/index.mjs', - 'shared/components/inputs.mjs', - 'shared/components/account/sets.mjs', - 'shared/components/account/shared.mjs', - 'shared/components/account/control.mjs', - 'shared/components/breadcrumbs.mjs', - 'shared/components/modal/theme-picker.mjs', - 'shared/components/modal/locale-picker.mjs', - 'shared/components/accordion.mjs', - 'shared/components/error/view.mjs', - 'shared/components/measurements/image.mjs', - 'shared/components/measurements/tim/acrossback.svg', - 'shared/components/measurements/tim/waisttohips.svg', - 'shared/components/measurements/tim/chest.svg', - 'shared/components/measurements/tim/crotchdepth.svg', - 'shared/components/measurements/tim/shouldertowrist.svg', - 'shared/components/measurements/tim/waist.svg', - 'shared/components/measurements/tim/waisttounderbust.svg', - 'shared/components/measurements/tim/seat.svg', - 'shared/components/measurements/tim/highbustfront.svg', - 'shared/components/measurements/tim/bustspan.svg', - 'shared/components/measurements/tim/crossseamfront.svg', - 'shared/components/measurements/tim/shouldertoshoulder.svg', - 'shared/components/measurements/tim/shoulderslope.svg', - 'shared/components/measurements/tim/knee.svg', - 'shared/components/measurements/tim/seatback.svg', - 'shared/components/measurements/tim/hipstoupperleg.svg', - 'shared/components/measurements/tim/biceps.svg', - 'shared/components/measurements/tim/hpstobust.svg', - 'shared/components/measurements/tim/bustfront.svg', - 'shared/components/measurements/tim/heel.svg', - 'shared/components/measurements/tim/waistback.svg', - 'shared/components/measurements/tim/waisttoarmpit.svg', - 'shared/components/measurements/tim/hpstowaistfront.svg', - 'shared/components/measurements/tim/ankle.svg', - 'shared/components/measurements/tim/neck.svg', - 'shared/components/measurements/tim/hpstowaistback.svg', - 'shared/components/measurements/tim/index.mjs', - 'shared/components/measurements/tim/hips.svg', - 'shared/components/measurements/tim/waisttoupperleg.svg', - 'shared/components/measurements/tim/highbust.svg', - 'shared/components/measurements/tim/bustpointtounderbust.svg', - 'shared/components/measurements/tim/inseam.svg', - 'shared/components/measurements/tim/crossseam.svg', - 'shared/components/measurements/tim/head.svg', - 'shared/components/measurements/tim/waisttoknee.svg', - 'shared/components/measurements/tim/underbust.svg', - 'shared/components/measurements/tim/waisttofloor.svg', - 'shared/components/measurements/tim/waisttoseat.svg', - 'shared/components/measurements/tim/wrist.svg', - 'shared/components/measurements/tim/shouldertoelbow.svg', - 'shared/components/measurements/tim/upperleg.svg', - 'shared/components/measurements/sarah/acrossback.svg', - 'shared/components/measurements/sarah/waisttohips.svg', - 'shared/components/measurements/sarah/chest.svg', - 'shared/components/measurements/sarah/crotchdepth.svg', - 'shared/components/measurements/sarah/shouldertowrist.svg', - 'shared/components/measurements/sarah/waist.svg', - 'shared/components/measurements/sarah/waisttounderbust.svg', - 'shared/components/measurements/sarah/seat.svg', - 'shared/components/measurements/sarah/highbustfront.svg', - 'shared/components/measurements/sarah/bustspan.svg', - 'shared/components/measurements/sarah/crossseamfront.svg', - 'shared/components/measurements/sarah/shouldertoshoulder.svg', - 'shared/components/measurements/sarah/shoulderslope.svg', - 'shared/components/measurements/sarah/knee.svg', - 'shared/components/measurements/sarah/seatback.svg', - 'shared/components/measurements/sarah/hipstoupperleg.svg', - 'shared/components/measurements/sarah/biceps.svg', - 'shared/components/measurements/sarah/hpstobust.svg', - 'shared/components/measurements/sarah/bustfront.svg', - 'shared/components/measurements/sarah/heel.svg', - 'shared/components/measurements/sarah/waistback.svg', - 'shared/components/measurements/sarah/waisttoarmpit.svg', - 'shared/components/measurements/sarah/hpstowaistfront.svg', - 'shared/components/measurements/sarah/ankle.svg', - 'shared/components/measurements/sarah/neck.svg', - 'shared/components/measurements/sarah/hpstowaistback.svg', - 'shared/components/measurements/sarah/index.mjs', - 'shared/components/measurements/sarah/hips.svg', - 'shared/components/measurements/sarah/waisttoupperleg.svg', - 'shared/components/measurements/sarah/highbust.svg', - 'shared/components/measurements/sarah/bustpointtounderbust.svg', - 'shared/components/measurements/sarah/inseam.svg', - 'shared/components/measurements/sarah/crossseam.svg', - 'shared/components/measurements/sarah/head.svg', - 'shared/components/measurements/sarah/waisttoknee.svg', - 'shared/components/measurements/sarah/underbust.svg', - 'shared/components/measurements/sarah/waisttofloor.svg', - 'shared/components/measurements/sarah/waisttoseat.svg', - 'shared/components/measurements/sarah/wrist.svg', - 'shared/components/measurements/sarah/shouldertoelbow.svg', - 'shared/components/measurements/sarah/upperleg.svg', - 'shared/components/control/score.mjs', - 'shared/components/control/tip.mjs', - 'shared/components/wordmark.mjs', - 'shared/components/joost.mjs', - 'shared/config/social.mjs', - 'shared/config/paypal.mjs', - 'shared/config/i18n.config.mjs', - 'shared/config/tailwind-force.html', - 'shared/config/freesewing.config.mjs', - 'shared/config/cloudflare.mjs', - 'shared/context/loading-status-context.mjs', - 'shared/context/navigation-context.mjs', - 'shared/context/modal-context.mjs', - 'shared/context/mobile-menubar-context.mjs', - 'shared/hooks/use-view.mjs', - 'shared/hooks/use-theme.mjs', - 'shared/hooks/use-id.mjs', - 'shared/hooks/use-backend.mjs', - 'shared/hooks/use-pattern-settings.mjs', - 'shared/hooks/use-account.mjs', - 'shared/mdx/browser-compile.mjs', - 'shared/mdx/remark-github-images.mjs', - 'shared/plugins/plugin-cut-layout.mjs', - 'shared/plugins/plugin-layout-part.mjs', - 'shared/styles/svg-freesewing-draft.css', - 'shared/styles/code.css', - 'shared/styles/globals.css', - 'shared/themes/monochrome.mjs', - 'shared/themes/light.mjs', - 'shared/themes/hax0r.mjs', - 'shared/themes/aqua.mjs', - 'shared/themes/pastel.mjs', - 'shared/themes/index.mjs', - 'shared/themes/dark.mjs', - 'shared/themes/lgbtq.mjs', - 'shared/prebuild/data/design-options.mjs', - 'shared/prebuild/data/designs.mjs', - 'shared/prebuild/data/design-measurements.mjs' - ], - 'pkgs': [ - 'react-components/src/pattern-xray/index.mjs', - 'react-components/src/pattern-xray/point.mjs', - 'react-components/src/pattern-xray/path.mjs', - 'react-components/src/pattern/stack.mjs', - 'react-components/src/pattern/defs.mjs', - 'react-components/src/pattern/utils.mjs', - 'react-components/src/pattern/text.mjs', - 'react-components/src/pattern/snippet.mjs', - 'react-components/src/pattern/svg.mjs', - 'react-components/src/pattern/part.mjs', - 'react-components/src/pattern/index.mjs', - 'react-components/src/pattern/group.mjs', - 'react-components/src/pattern/point.mjs', - 'react-components/src/pattern/grid.mjs', - 'react-components/src/pattern/path.mjs', - 'react-components/src/pattern/circle.mjs', - 'react-components/src/editor/swizzle/components/popout.mjs' - ] -} \ No newline at end of file diff --git a/packages/new-design/lib/utils.mjs b/packages/new-design/lib/utils.mjs deleted file mode 100644 index da97f8b3af3..00000000000 --- a/packages/new-design/lib/utils.mjs +++ /dev/null @@ -1,316 +0,0 @@ -import { config } from './config.mjs' -import { mkdir, writeFile, copyFile, open, opendir } from 'node:fs/promises' -import { join, dirname } from 'path' -import mustache from 'mustache' -import chalk from 'chalk' -import prompts from 'prompts' -import { oraPromise } from 'ora' -import { execa } from 'execa' -import axios from 'axios' -import { fileURLToPath } from 'url' - -// Current working directory -let filename -try { - filename = __filename -} catch { - filename = fileURLToPath(new URL(import.meta.url)) -} -const newDesignDir = join(filename, '../..') - -const nl = '\n' -const tab = ' ' -const nlt = nl + tab - -// Checks for node 18 or higher -export const checkNodeVersion = () => { - const node_version = process.version.slice(1).split('.')[0] - if (parseInt(node_version) < config.node) { - console.log( - chalk.yellow(nlt + `⚠️ FreeSewing requires Node v${config.node} or newer`) + - nl + - nlt + - 'We highly recommend using NVM to manage your Node versions:' + - nlt + - chalk.blue('https://github.com/nvm-sh/nvm') + - nl + - nlt + - 'When in doubt, pick an active LTS version:' + - nlt + - chalk.blue('https://nodejs.org/en/about/releases/') + - nl + - nl - ) - process.exit(1) - } -} - -// Gets user input to figure out what to do -export const getChoices = async () => { - let finalName = false // we're going to use this to track whether we stay in the naming loop - let overwrite = true // should we overwrite existing files? - let name // name will go here - let sideStep // allows to do something custom - const cwd = process.cwd() - - // while we're not finalized on a name - while (finalName === false) { - // request a name - name = ( - await prompts({ - type: 'text', - name: 'name', - message: 'Give a folder name in which we can setup the development environment? 🏷️ ', - }) - ).name - - // check whether a folder with that name already exists - const dest = join(cwd, name) - try { - const dir = await opendir(dest) - dir.close() - } catch { - // the folder didn't exist, so we're good to go - finalName = true - break - } - - // the folder did exist, so now we need to ask what to do - const { nextStep } = await prompts({ - type: 'select', - name: 'nextStep', - message: 'It looks like that folder already exists. What should we do?', - choices: [ - { title: 'Go back', value: 'rename', description: 'Choose a different folder name' }, - { - title: 'Overwrite', - value: 'overwrite', - description: 'Overwrite the contents in the existing folder', - }, - { - title: 'Re-initialize', - value: 'reinit', - description: - 'Re-install dependencies, and update the development environment in this folder', - }, - { - title: 'Re-download', - value: 'redownload', - description: 'Update the development environment in this folder', - }, - ], - }) - sideStep = nextStep - - // if they said rename, we loop again. otherwise - if (nextStep !== 'rename') { - finalName = true - // set the overwrite choice - overwrite = nextStep === 'overwrite' - } - } - - const { manager } = await prompts({ - type: 'select', - name: 'manager', - message: 'What package manager should we use? 📦', - choices: [ - { title: 'yarn', value: 'yarn', description: 'Yarn - Nice if you have it' }, - { title: 'npm', value: 'npm', description: 'NPM - Comes with NodeJS' }, - ], - initial: 0, - }) - - return { name, manager, overwrite, sideStep } -} - -// Keep track of directories that need to be created -const dirPromises = {} -const ensureDir = async (file, suppress = false) => { - const dir = suppress ? dirname(file.replace(suppress)) : dirname(file) - if (!dirPromises[dir]) { - dirPromises[dir] = mkdir(dir, { recursive: true }) - } - await dirPromises[dir] -} - -// Helper method to copy template files -const copyFileOrTemplate = async ( - fromRootOrTemplate, - toRoot, - relativeDest, - templateVars, - overwrite = true -) => { - const to = join(toRoot, relativeDest) - - // if the file shouldn't be overwritten, open it to see if it exists - if (!overwrite) { - try { - // if the file doesn't exist, this will throw an error - const fd = await open(to) - fd.close() - // we only reach this return if the file exists, which means we're safe to leave - return - } catch { - // don't do anything with the error because it just means the file wasn't there and we can continue - } - } - - await ensureDir(to) - - if (templateVars) { - const rendered = mustache.render(fromRootOrTemplate, templateVars) - await writeFile(to, rendered) - } else { - const from = join(fromRootOrTemplate, relativeDest) - await copyFile(from, to) - } -} - -// Helper method to run [yarn|npm] install -const installDependencies = async (config, choices) => - await execa(`${choices.manager} install`, { - cwd: config.dest, - shell: true, - }) - -// Helper method to download web environment -const downloadFiles = async (config) => { - const promises = [] - for (const dir in config.fetch) { - promises.push( - ...config.fetch[dir].map(async (file) => { - const to = - typeof file === 'string' - ? join(config.dest, file.slice(0, 4) === 'sde/' ? file.slice(4) : file) - : join(config.dest, file.to) - await ensureDir(to) - const url = `${config.fileUri}/${config.repo}/${config.branch}/${dir}/${ - typeof file === 'string' ? file : file.from - }` - try { - const res = await axios.get(url) - await writeFile( - to, - typeof res.data === 'object' ? JSON.stringify(res.data, null, 2) : res.data - ) - } catch (err) { - if (err.response?.status === 404) console.log(`404: ${url}`) - else console.log(err) - } - }) - ) - } - - return Promise.all(promises) -} - -// Helper method to initialize a git repository -const initGitRepo = async (config, choices) => { - await copyFileOrTemplate(config.gitignore, config.dest, '.gitignore', {}, choices.overwrite) - - return execa( - `git init -b main && git add . && git commit -m ":tada: Initialized FreeSewing stand-alone development environment"`, - { - cwd: config.dest, - shell: true, - } - ) -} - -// Tips -const showTips = (config, choices) => - console.log(` - All done 🤓 Your FreeSewing development environment was initialized in: ${chalk.green.bold( - config.dest - )} - - The templates for various designs are in the ${chalk.yellow.bold('design')} folder. - The other files and folders are the development environment. You can safely ignore those. - - To start your development environment, follow these three steps: - - 1) Start by entering the directory: ${chalk.blue.bold('cd ' + config.dest)} - 2) Then run this command: ${chalk.blue.bold( - choices.manager === 'yarn' ? 'yarn dev' : 'npm run dev' - )} - 3) Now open your browser and navigate to ${chalk.green('http://localhost:8000/')} - - Thanks for giving FreeSewing a shot. I hope you'll 💜 it. - - Have fun 🤓 - - joost -`) - -// Creates the environment based on the user's choices -export const createEnvironment = async (choices) => { - config.dest = join(process.cwd(), choices.name) - // Store directories for re-use - config.source = { - templateData: join(newDesignDir, `templates/from-${choices.template}.mjs`), - templates: join(newDesignDir, `templates/shared`), - shared: join(newDesignDir, `shared`), - } - - // Output a linebreak - console.log() - - // Download files from GitHub - try { - const count = [...config.fetch.config, ...config.fetch.sites].length - await oraPromise(downloadFiles(config), { - text: - chalk.white.bold(`🟧⬜⬜ Downloading ${count} (small) files from GitHub`) + - chalk.white.dim(' | Give it a moment'), - successText: chalk.white.bold(`🟩⬜⬜ Downloaded ${count}/${count} files from GitHub`), - failText: chalk.white.bold( - '🟥⬜⬜ Failed to download components from GitHub | The development environment will not function' - ), - }) - } catch (err) { - console.log(err) - /* no feedback here */ - } - - if (!choices.sideStep) { - // Create target directory - await mkdir(config.dest, { recursive: true }) - - // Install dependencies - try { - await oraPromise(installDependencies(config, choices), { - text: - chalk.white.bold('🟩🟧⬜ Installing dependencies') + - chalk.white.dim(' | Please wait, this will take a while'), - successText: chalk.white.bold('🟩🟩⬜ Installed dependencies'), - failText: chalk.white.bold( - '🟩🟥⬜ Failed to install dependencies | The development environment will not function' - ), - }) - } catch (err) { - /* no feedback here */ - } - } - - if (!choices.sideStep) { - // Initialize git repository - try { - await oraPromise(initGitRepo(config, choices), { - text: - chalk.white.bold('🟩🟩🟧 Initializing git repository') + - chalk.white.dim(' | You have git, right?'), - successText: chalk.white.bold('🟩🟩🟩 Initialized git repository'), - failText: - chalk.white.bold('🟩🟩🟥 Failed to initialize git repository') + - chalk.white.dim(' | This does not stop the development environment from functioning'), - }) - } catch (err) { - console.log(err) - } - } - - // All done. Show tips - showTips(config, choices) -} diff --git a/packages/new-design/package.json b/packages/new-design/package.json deleted file mode 100644 index 12935a5a66d..00000000000 --- a/packages/new-design/package.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "name": "@freesewing/new-design", - "version": "3.3.0-rc.1", - "description": "Initializer package for a new FreeSewing design: npx @freesewing/new-design", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "freesewing", - "freesewing" - ], - "type": "module", - "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "lab": "cd ../../sites/lab && yarn start", - "tips": "node ../../scripts/help.mjs", - "lint": "npx eslint 'lib/*.mjs'", - "i18n-only": "SITE=\"new-design/shared\" node --conditions=internal ../../sites/shared/prebuild/i18n-only.mjs", - "prebuild": "node --conditions=internal ./prebuild.mjs", - "wbuild": "node build.mjs", - "prewbuild": "node --conditions=internal ./prebuild.mjs", - "wbuild:all": "yarn wbuild", - "prebuild:all": "yarn prebuild", - "prewbuild:all": "yarn prewbuild" - }, - "peerDependencies": {}, - "dependencies": { - "axios": "1.7.2", - "chalk": "5.3.0", - "execa": "9.2.0", - "mustache": "4.2.0", - "ora": "8.0.1", - "prompts": "2.4.2", - "recursive-readdir": "2.2.3" - }, - "devDependencies": {}, - "files": [ - "README.md", - "package.json", - "lib/**/*", - "shared/**/*", - "templates/**/*", - "index.mjs", - "package.json", - "data.mjs" - ], - "publishConfig": { - "access": "public", - "tag": "next" - }, - "engines": { - "node": ">= 18.17.0 <22" - }, - "bin": { - "new-design": "./index.mjs" - } -} diff --git a/packages/prettier-config/README.md b/packages/prettier-config/README.md index 61f358a37e0..c1632d6bf7f 100644 --- a/packages/prettier-config/README.md +++ b/packages/prettier-config/README.md @@ -9,24 +9,14 @@ >License: MIT Code quality on DeepScan - Open issues tagged pkg:prettier-config - All Contributors

Follow @freesewing_org on Twitter Become a FreeSewing Patron - Follow @freesewing_org on Twitter

# @freesewing/prettier-config @@ -59,7 +44,7 @@ FreeSewing's shared configuration for prettier > FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. > > If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). +hardship, then you should [join us and become a patron](https://freesewing.eu/patrons/join). ## What am I looking at? 🤔 @@ -76,7 +61,7 @@ npm run tips > [!NOTE] > If you don't want to set up a dev environment, you can run it in your browser: > -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://codeberg.org/freesewing/freesewing) > > We recommend that you fork our repository and then > put `gitpod.io/# (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", @@ -17,12 +17,15 @@ "prettier" ], "type": "module", - "module": "dist/index.mjs", + "module": "src/index.mjs", "exports": { ".": "./index.json" }, "scripts": { - "build": "echo \"prettier-config: No build required\" && exit 0" + "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", + "test": "echo \"prettier-config: No tests configured. Perhaps you could write some?\" && exit 0", + "tips": "node ../../scripts/help.mjs", + "lint": "npx eslint 'src/**' 'tests/*.mjs'" }, "peerDependencies": {}, "dependencies": {}, @@ -33,9 +36,9 @@ ], "publishConfig": { "access": "public", - "tag": "next" + "tag": "latest" }, "engines": { - "node": ">= 18.17.0 <22" + "node": ">= 20" } } diff --git a/packages/react-components/CHANGELOG.md b/packages/react-components/CHANGELOG.md deleted file mode 100644 index 169941b4ea5..00000000000 --- a/packages/react-components/CHANGELOG.md +++ /dev/null @@ -1,23 +0,0 @@ -# Change log for: @freesewing/react-components - - -## 3.2.0 (2024-02-11) - -### Added - - - This Pattern component now supports translation of nested arrays of strings, giving you more flexibility to concatenate translated parts of strings - -## 3.0.0 (2023-09-30) - -### Changed - - - All FreeSewing packages are now ESM only. - - All FreeSewing packages now use named exports. - - Dropped support for NodeJS 14. NodeJS 18 (LTS/hydrogen) or more recent is now required. - - -This is the **initial release**, and the start of this change log. - -> Prior to version 2, FreeSewing was not a JavaScript project. -> As such, that history is out of scope for this change log. - diff --git a/packages/react-components/README.md b/packages/react-components/README.md deleted file mode 100644 index 7dea16c88a5..00000000000 --- a/packages/react-components/README.md +++ /dev/null @@ -1,162 +0,0 @@ -

@freesewing/react-components on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:react-components - All Contributors -

Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

- -# @freesewing/react-components - -React components by/for FreeSewing - - - -# FreeSewing - -> [!TIP] ->#### Support FreeSewing: Become a patron, or make a one-time donation 🥰 -> -> FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. -> -> If you feel FreeSewing is worthwhile, and you can spend a few coins without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## What am I looking at? 🤔 - -This repository is the FreeSewing *monorepo* holding all FreeSewing's websites, documentation, designs, plugins, and other NPM packages. - -This folder holds: @freesewing/react-components - -If you're not entirely sure what to do or how to start, type this command: - -``` -npm run tips -``` - -> [!NOTE] -> If you don't want to set up a dev environment, you can run it in your browser: -> -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) -> -> We recommend that you fork our repository and then -> put `gitpod.io/# to start up a browser-based dev environment of your own. - -## About FreeSewing 💀 - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -sewing patterns adapted to your measurements. - -If you're a developer, the FreeSewing documentation lives at [freesewing.dev](https://freesewing.dev/). -The FreeSewing [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But FreeSewing also provides a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx @freesewing/new-design -``` - -Getting started guides are available for: -- [Linux](https://freesewing.dev/tutorials/getting-started-linux/) -- [MacOS](https://freesewing.dev/tutorials/getting-started-mac/) -- [Windows](https://freesewing.dev/tutorials/getting-started-windows/) - -The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will -show you how to create your first parametric design. - -## Getting started ⚡ - -To get started with FreeSewing, you can spin up our development environment with: - -```bash -npx @freesewing/new-design -``` - -To work with FreeSewing's monorepo, you'll need [NodeJS v18](https://nodejs.org), [lerna](https://lerna.js.org/) and [yarn](https://yarnpkg.com/) on your system. -Once you have those, clone (or fork) this repo and run `yarn kickstart`: - -```bash -git clone git@github.com:freesewing/freesewing.git -cd freesewing -yarn kickstart -``` - -## Links 👩‍💻 - -**Official channels** - - - 💻 Makers website: [FreeSewing.org](https://freesewing.org) - - 💻 Developers website: [FreeSewing.dev](https://freesewing.dev) - - ✅ [Support](https://github.com/freesewing/freesewing/issues/new/choose), - [Issues](https://github.com/freesewing/freesewing/issues) & - [Discussions](https://github.com/freesewing/freesewing/discussions) on - [GitHub](https://github.com/freesewing/freesewing) - -**Social media** - - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -**Places the FreeSewing community hangs out** - - - 💬 [Discord](https://discord.freesewing.org/) - - 💬 [Facebook](https://www.facebook.com/groups/627769821272714/) - - 💬 [Reddit](https://www.reddit.com/r/freesewing/) - -## License: MIT 🤓 - -© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🤯 - -For [Support](https://github.com/freesewing/freesewing/issues/new/choose), -please use the [Issues](https://github.com/freesewing/freesewing/issues) & -[Discussions](https://github.com/freesewing/freesewing/discussions) on -[GitHub](https://github.com/freesewing/freesewing). - diff --git a/packages/react-components/build.mjs b/packages/react-components/build.mjs deleted file mode 100644 index 30420e8d453..00000000000 --- a/packages/react-components/build.mjs +++ /dev/null @@ -1,36 +0,0 @@ -/* This script will build the package with esbuild */ -import esbuild from 'esbuild' -import pkg from './package.json' assert { type: '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.mjs'], - format: 'esm', - outfile: 'dist/index.mjs', - external: ['@freesewing', 'react'], - metafile: process.env.VERBOSE ? true : false, - minify: process.env.NO_MINIFY ? false : true, - sourcemap: true, - loader: { '.mjs': 'jsx' }, -} - -// Let esbuild generate the build -const build = async () => { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/packages/react-components/data.mjs b/packages/react-components/data.mjs deleted file mode 100644 index 8d481e2a790..00000000000 --- a/packages/react-components/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/react-components' -export const version = '3.3.0-rc.1' -export const data = { name, version } diff --git a/packages/react-components/package.json b/packages/react-components/package.json deleted file mode 100644 index b7ffa9d9bc2..00000000000 --- a/packages/react-components/package.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "name": "@freesewing/react-components", - "version": "3.3.0-rc.1", - "description": "React components by/for FreeSewing", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "freesewing", - "freesewing" - ], - "type": "module", - "module": "dist/index.mjs", - "exports": { - ".": { - "internal": "./src/index.mjs", - "default": "./dist/index.mjs" - }, - "./linedrawings": "./src/linedrawings/index.mjs", - "./pattern": "./src/pattern/index.mjs", - "./xray": "./src/pattern-xray/index.mjs" - }, - "scripts": { - "build": "node build.mjs", - "build:all": "yarn build", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "test": "echo \"react-components: No tests configured. Perhaps you could write some?\" && exit 0", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", - "tips": "node ../../scripts/help.mjs", - "lint": "eslint 'src/**/*.mjs'", - "wbuild": "node build.mjs", - "wbuild:all": "yarn wbuild" - }, - "peerDependencies": { - "react": "^18.2.0" - }, - "dependencies": { - "axios": "1.7.2", - "html-react-parser": "^5.0.7", - "nuqs": "^1.17.6", - "react-markdown": "^9.0.1", - "use-local-storage-state": "19.1.0", - "use-session-storage-state": "^19.0.0" - }, - "devDependencies": {}, - "files": [ - "dist/*", - "README.md" - ], - "publishConfig": { - "access": "public", - "tag": "next" - }, - "engines": { - "node": ">= 18.17.0 <22" - } -} diff --git a/packages/react-components/src/editor/components/view-wrapper.mjs b/packages/react-components/src/editor/components/view-wrapper.mjs deleted file mode 100644 index ff6f1949d06..00000000000 --- a/packages/react-components/src/editor/components/view-wrapper.mjs +++ /dev/null @@ -1,137 +0,0 @@ -// Hooks -import { useState } from 'react' - -/** - * The editor view wrapper component - * - * Figures out what view to load initially, - * and handles state for the pattern, inclding the view - * - * @param (object) props - All the props - * @param {object} props.designs - An object holding all designs - * @param {object} props.preload - Object holding state to preload - * @param {object} props.locale - The locale (language) code - * @param {object} props.design - A design name to force the editor to use this design - * @param {object} props.Swizzled - An object holding swizzled code - */ -export const ViewWrapper = ({ designs = {}, preload = {}, design = false, Swizzled }) => { - /* - * Ephemeral state will not be stored in the state backend - * It is used for things like loading state and so on - */ - const [ephemeralState, setEphemeralState] = useState({}) - // Editor state - const allState = Swizzled.hooks.useEditorState( - Swizzled.methods.initialEditorState(preload), - setEphemeralState - ) - const state = allState[0] - const update = allState[2] - - // Don't bother before state is initialized - if (!state) return - - // Figure out what view to load - const [View, extraProps] = viewfinder({ design, designs, preload, state, Swizzled }) - - /* - * Pass this down to allow disabling features that require measurements - */ - const { missingMeasurements = [] } = extraProps - - /* - * Almost all editor state has a default settings, and when that is selected - * we just unset that value in the state. This way, state holds only what is - * customized, and it makes it a lot easier to see how a pattern was edited. - * The big exception is the 'ui.ux' setting. If it is unset, a bunch of - * components will not function properly. We could guard against this by passing - * the default to all of these components, but instead, we just check that state - * is undefined, and if so pass down the default ux value here. - * This way, should more of these exceptions get added over time, we can use - * the same centralized solution. - */ - const passDownState = - state.ui.ux === undefined - ? { - ...state, - ui: { ...state.ui, ux: Swizzled.config.defaultUx }, - _: { ...ephemeralState, missingMeasurements }, - } - : { ...state, _: { ...ephemeralState, missingMeasurements } } - - return ( -
- {Swizzled.config.withAside ? ( - - ) : null} -
- - -
-
- ) -} - -/** - * Helper method to figure out what view to load - * based on the props passed in, and destructure - * the props we need for it. - * - * @param (object) props - All the props - * @param {object} props.design - The (name of the) current design - * @param {object} props.designs - An object holding all designs - * @param (object) props.state - React state passed down from the wrapper view - */ -const viewfinder = ({ design, designs, state, Swizzled }) => { - /* - * Grab Design from props or state and make them extra props - */ - if (!design && state?.design) design = state.design - const Design = designs[design] || false - const extraProps = { design, Design } - - /* - * If no design is set, return the designs view - */ - if (!designs[design]) return [getViewComponent('designs', Swizzled), extraProps] - - /* - * If we have a design, do we have the measurements? - */ - const [measurementsOk, missingMeasurements] = Swizzled.methods.hasRequiredMeasurements( - designs[design], - state.settings?.measurements - ) - if (missingMeasurements) extraProps.missingMeasurements = missingMeasurements - - /* - * Allow all views that do not require measurements before - * we force the user to the measurements view - */ - if (state.view && Swizzled.config.measurementsFreeViews.includes(state.view)) { - const view = getViewComponent(state.view, Swizzled) - if (view) return [view, extraProps] - } - - if (!measurementsOk) return [getViewComponent('measurements', Swizzled), extraProps] - - /* - * If a view is set, return that - */ - const view = getViewComponent(state.view, Swizzled) - if (view) return [view, extraProps] - - /* - * If no obvious view was found, return the view picker - */ - return [getViewComponent('picker', Swizzled), extraProps] -} - -const getViewComponent = (view = false, Swizzled) => - view ? Swizzled.components[Swizzled.config.viewComponents[view]] : false diff --git a/packages/react-components/src/editor/en.yaml b/packages/react-components/src/editor/en.yaml deleted file mode 100644 index fb9d3eb5e8e..00000000000 --- a/packages/react-components/src/editor/en.yaml +++ /dev/null @@ -1,290 +0,0 @@ -# Popout component -comment: Comment -note: Note -tip: Tip -warning: Warning -fixme: FIXME -link: Link -related: Related - -# Designs view -chooseADesign: Choose a Design -# Mesurements view -measurements: Measurements -measurementsAreOk: We have all required measurements to draft this pattern. -editMeasurements: Edit Measurements -editMeasurementsDesc: You can manually set or override measurements below. -requiredMeasurements: Required Measurements -optionalMeasurements: Optional Measurements -missingMeasurements: Missing Measurements -missingMeasurementsInfo: To generate this pattern, we need the following additional measurements -missingMeasurementsNotify: To generate this pattern, we need some additional measurements - -# Measurements sets -noOwnSets: You do not have any of your own measurements sets (yet) -pleaseMtm: Because our patterns are bespoke, we strongly suggest you take accurate measurements. -noOwnSetsMsg: You can store your measurements as a measurements set, after which you can generate as many patterns as you want for them. -chooseFromOwnSets: Choose one of your own measurements sets -chooseFromOwnSetsDesc: Pick any of your own measurements sets that have all required measurements to generate this pattern. -newSet: Create a new measurements set -someSetsLacking: Some of your measurements sets lack the measurements required to generate this pattern -chooseFromBookmarkedSets: Choose one of the measurements sets you've bookmarked -chooseFromBookmarkedSetsDesc: If you've bookmarked any measurements sets, you can select from those too. -chooseFromCuratedSets: Choose one of FreeSewing's curated measurements sets -chooseFromCuratedSetsDesc: If you're just looking to try out our platform, you can select from our list of curated measurements sets. - -# View wrapper -requiredPropsMissing.t: Required props are missing -requiredPropsMissing.d: The FreeSewing pattern editor needs to be initialized properly. It currently lacks some props to be able to bootstrap. - -# View picker -chooseAnActivity: Choose an activity -chooseAnotherActivity: Choose a different activity -view.draft.t: Draft Pattern -view.draft.d: Choose this if you are not certain what to pick -view.measurements.t: Pattern Measurements -view.measurements.d: Update or load measurements to generate a pattern for -view.test.t: Test Design -view.test.d: See how different options or changes in measurements influence the design -view.timing.t: Time Design -view.timing.d: Shows detailed timing of the pattern being drafted, allowing you to find bottlenecks in performance -view.printLayout.t: Print Layout -view.printLayout.d: Organize your pattern parts to minimize paper use -view.save.t: Save pattern as... -view.save.d: Save the changes to this pattern in your account, or save it as a new pattern -view.export.t: Export Pattern -view.export.d: Export this pattern into a variety of formats -view.editSettings.t: Edit settings by hand -view.editSettings.d: Throw caution to the wind, and hand-edit the pattern's settings -view.logs.t: Pattern Logs -view.logs.d: Show the logs generated by the pattern, useful to troubleshoot problems -view.inspect.t: Pattern inspector -view.inspect.d: Load the pattern in the inspector, giving you in-depth info about a pattern's components -view.docs.t: Documentation -view.docs.d: More information and links to documentation -view.designs.t: Choose a different Design -view.designs.d: "Current design: {- design }" -view.picker.t: Choose a different view -view.undos.t: Undo History -view.undos.d: Time-travel through your recent pattern changes -showAdvancedOptions: Show advanced options -hideAdvancedOptions: Hide advanced options -views.t: Views -views.d: Choose between the main views of the pattern editor -measurementsFreeViewsOnly.t: We are only showing activities that do not require measurements -measurementsFreeViewsOnly.d: Once we have all measurements required to generate a pattern, you will have more choices here. - - -# menus -youAreUsingTheDefaultValue: You are using the default value -youAreUsingACustomValue: You are using a custom value -designOptions.t: Design Options -designOptions.d: These options are specific to this design. You can use them to customize your pattern in a variety of ways. -fit.t: Fit -style.t: Style -advanced.t: Advanced -coreSettings.t: Core Settings -coreSettings.d: These settings are not specific to the design, but instead allow you to customize various parameters of the FreeSewing core library, which generates the design for you. -paperless.t: Paperless -paperless.d: Trees are awesome, and taping together sewing patterns is not much fun. Try our paperless mode to avoid the need to print out your pattern altogether. -samm.t: Seam Allowance Size -samm.d: Controls the amount of seam allowance used in your pattern -sabool.t: Include Seam Allowance -sabool.d: Controls whether or not to include seam allowance in your pattern -complete.t: Details -complete.d: Controls how detailed the pattern is; Either a complete pattern with all details, or a basic outline of the pattern parts -expand.t: Expand -expand.d: Controls efforts to save paper. Disable this to expand all pattern parts at the cost of using more space. -only.t: Included Parts -only.d: Use this to control exactly which pattern parts will be included in your pattern -units.t: Units -units.d: This setting determines how unit are displayed on your pattern -margin.t: Margin -margin.d: Controls the margin around pattern parts -scale.t: Scale -scale.d: Controls the overall line width, font size, and other elements that do not scale with the pattern's measurements -yes: Yes -no: No -completeYes.t: Generate a complete pattern -completeYes.d: This will generate a complete pattern with all notations, lines, markings. Use this if you are not certain what to choose. -completeNo.t: Generate a pattern outline -completeNo.d: Only generate the outline of the pattern parts. Use this if you are looking to use a laser cutter or have other specific needs. -expandYes.t: Expand all pattern parts -expandYes.d: This will generate a pattern where all pattern parts are drawn to their full size, even if they are simple rectangles. -expandNo.t: Keep patterns parts compact where possible -expandNo.d: This will draw a more dense representation of the pattern which includes all info without using up too much space & paper. -saNo.t: Do not include seam allowance -saNo.d: This generates a pattern which does not include any seam allowance. The size of the seam allowance does not matter as no seam allowance will be included. -saYes.t: Include seam allowance -saYes.d: This generates a pattern that will include seam allowance. The size of the seam allowance is set individually. -paperlessNo.t: Generate a regular pattern -paperlessNo.d: This will generate a regular pattern, which you can then print out. -paperlessYes.t: Generate a paperless pattern -paperlessYes.d: This generates a pattern with dimensions and a grid, which allows you to transfer it on fabric or another medium without the need to print out the pattern. -metric: Metric -uiPreferences.t: UI Preferences -uiPreferences.d: These preferences control the UI (User Interface) of the pattern editor -renderer.t: Render Engine -renderer.d: Controls how the pattern is rendered (drawn) on the screen -renderWithReact.t: Render with FreeSewing's React components -renderWithReact.d: Render as SVG through our React components. Allows interactivity and is optimized for screen. Use this if you are not sure what to pick. -renderWithCore.t: Render with FreeSewing's Core library -renderWithCore.d: Render directly to SVG from Core. Allows no interactivity and is optimized for print. Use this if you want to know what it will look like when exported. -kiosk.t: Kiosk Mode -kiosk.d: Controls how the pattern editor is embedded in the web page. -aside.t: Aside Menu -aside.d: Controls whether or not to show menus on the side of larger screens -withAside.t: Also show menus on the side -withAside.d: Shows menus both on the side of the screen, as well as the drop-downs in the header (this only applies to larger screens) -noAside.t: Only show menus in the header -noAside.d: Only shows the drop-down variant of the menus, making more room for your pattern -rotate.t: Rotate pattern -rotate.d: Allows you to rotate your pattern 90 degrees to better fit your screen -rotateNo.t: Do not rotate pattern -rotateNo.d: Show the pattern as it is -rotateYes.t: Rotate pattern 90 degrees -rotateYes.d: Rotate the pattern 90 degrees counter clockwise -websiteMode.t: Use inline mode -websiteMode.d: Embeds the pattern editor in the natural flow of the web page. -kioskMode.t: Use kiosk mode -kioskMode.d: Breaks out the pattern editor to fill the entire page. -ux.t: User Experience -ux.d: Which user experience do you prefer? From keep it simple, to give me all the powers. -inspect.t: Inspect -inspect.d: Enabling this will allow you to drill down into the pattern, and pull up information about its various parts, paths, and points. -inspectNo.t: Disable the inspector -inspectNo.d: This is the default, the pattern inspector is disabled and the pattern is displayed as usual. -inspectYes.t: Enable the inspector -inspectYes.d: With the pattern inspector enabled and the React rendering engine selected, we will add interactivity to the pattern to allow you to inspect the various elements that make up the pattern. -draft: Draft -test: Test -print: Print layout -cut: Cut Layout -save: Save -export: Export -edit: Edit -draft.t: Draft your pattern -draft.d: Launches FreeSewing flagship pattern editor, where you can tweak your pattern to your heart's desire -test.t: Test your pattern -test.d: See how your pattern adapts to changes in options, or measurements -print.t: Print Layout -print.d: Allows you to arrange your pattern pieces so you can printing your pattern on as little pages as possible -cut.t: Cutting layout -cut.d: Allows you to arrange your pattern pieces so you can determine exactly how much fabric you need to make it. -save.t: Save your pattern -save.d: Save the current pattern to your FreeSewing account -export.t: Export your pattern -export.d: Allows you to export this pattern to a variety of formats -logs.t: Pattern logs -enterCustomValue: Enter a custom value - -# ux -ux1.t: Keep it as simple as possible -ux1.d: Hides all but the most essential features. -ux2.t: Keep it simple, but not too simple -ux2.d: Hides the majority of features. -ux3.t: Balance simplicity with power -ux3.d: Reveals the majority of features, but not all. -ux4.t: Give me all powers, but keep me safe -ux4.d: Reveals all features, keeps handrails and safety checks. -ux5.t: Get out of my way -ux5.d: Reveals all features, removes all handrails and safety checks. - -# Tooltips -tt.changeEditorView: Change to a different view -tt.toggleSa: Turns Seam Allowance on or off (see Core Settings) -tt.togglePaperless: Turns Paperless on or off (see Core Settings) -tt.toggleComplete: Turns Details on or off (see Core Settings) -tt.toggleExpand: Turns Expand on or off (see Core Settings) -tt.toggleUnits: Switches Units between metric and imperial (see Core Settings) -tt.changeUx: Changes your UX setting (see UI Preferences) -tt.toggleAside: Turn the Aside Menu on or off (see UI Preferences) -tt.toggleKiosk: Turns Kiosk Mode on or off (see UI Preferences) -tt.toggleRotate: Turns Rotate Pattern on or off (see UI Preferences) -tt.toggleRenderer: Switches the Render Engine between React and SVG (see UI Preferences) -tt.exportPattern: Export pattern -tt.savePattern: Save pattern -tt.savePatternAs: Save pattern as... -tt.undo: Undo most recent change -tt.undoAll: Undo all changes since the last save point -tt.resetDesign: Reset all settings, but keep the design and measurements -tt.resetAll: Reset the editor completely - -# flags -apply: Apply -decrease: Decrease -disable: Disable -dismiss: Dismiss -expandIsOff.t: This design saves space (and trees) because expand is disabled -expandIsOff.d: "Because the **expand** core setting is currently disabled, some parts are not fully drawn or not shown at all. Typically, these are simple rectangles that only take up space, or things that can be cut on the fold. \n\nTo expand all pattern parts to their full size, enable the expand setting." -expandIsOn.t: This design can save space (and trees) -expandIsOn.d: "Because the **expand** core setting is currently enabled, all parts are fully drawn. You can display this design in a more compact way by disabling the **expand** setting. \n\nDoing so will mean that some parts are not fully drawn or not shown at all. Typically, these are simple rectangles that only take up space, or things that can be cut on the fold." -enable: Enable -flags: Flags -flagMenu.t: Flags -flagMenuOne.d: A specific issue about your current pattern needs your attention. -flagMenuMany.d: Some issues about your current pattern need your attention. -hide: Hide -increase: Increase -show: Show -saIncluded: (This includes seam allowance) -saExcluded: (This does not include seam allowance) -saUnused: (This part does not require any seam allowance) -partHiddenByExpand: This part is not shown because the **expand** core setting is currently disabled. Enable it to show this pattern part. - -# Auth -authRequired: Authentication required -membersOnly: This functionality requires a FreeSewing account. -signUp: Sign Up -signIn: Sign In -statusUnknown: Account status warning -statusUnknownMsg: Your account status prohibits us from processing your data. Please contact support. -consentLacking: Consent lacking -consentLackingMsg: We do not have your consent for processing your data. Without consent, we have no legal basis to process your data. -accountProhibited: Your account has been disabled -accountProhibitedMsg: Your account has been administratively disabled. -accountDisabled: Account disabled -accountDisabledMsg: You cannot re-enable a disabled account. You need to contact support to address this. -accountInactive: Your account is inactive -accountInactiveMsg: You must activate your account via the signup link we sent you. -signupAgain: If you cannot find the link, you can receive a new one by signing up again. -cannotUse: A disabled account cannot be used. -contactSupport: Contact support -reviewConsent: Review your consent -roleLacking: You lack the required role to access this content -roleLackingMsg: This content requires the { requiredRole } role. Your role is { role } which does not grant you access to this content. - -# save pattern -bookmarkPattern: Bookmark pattern -savePattern: Save pattern -saveAsNewPattern: Save as a New Pattern -savePatternAs: Save pattern as... -savePatternAsHellip: Save pattern as... -patternBookmarkCreated: Pattern bookmark created -see: See -addNotes: Add notes -addSettingsToNotes: Add settings to notes -exporting: Exporting -exportAsData: Export as data -exportForEditing: Export for editing -exportForPrinting: Export for printing -exportPattern-txt: Export a PDF suitable for your printer, or download this pattern in a variety of formats -exportPattern: Export pattern -settings: Settings -patternTitle: Pattern Title -patternNotes: Pattern Notes -toAccessPatternsGoTo: To access your patterns, go to -genericLoadingMessage: Hang tight, we're working on it... -patternSavedAs: Pattern saved as -cancel: Cancel - -# undo history -secondsAgo: seconds ago -minutesAgo: minutes ago -hoursAgo: hours ago -undos.unknown.t: Unknown Change -defaultRestored: Cleared (default restored) -includeAllParts: Include all parts -allFirstLetter: A -undo: Undo -xMeasurementsChanged: "{ count } Measurements changed" diff --git a/packages/react-components/src/editor/index.mjs b/packages/react-components/src/editor/index.mjs deleted file mode 100644 index 13f00b88dd6..00000000000 --- a/packages/react-components/src/editor/index.mjs +++ /dev/null @@ -1,89 +0,0 @@ -import { useState, useEffect } from 'react' -import { swizzleConfig } from './swizzle/config.mjs' -import { swizzleComponents } from './swizzle/components/index.mjs' -import { swizzleHooks } from './swizzle/hooks/index.mjs' -import { swizzleMethods } from './swizzle/methods/index.mjs' -import { ViewWrapper } from './components/view-wrapper.mjs' -// This is an exception as we need to show something before Swizzled components are ready -import { TemporaryLoader as UnswizzledTemporaryLoader } from './swizzle/components/loaders.mjs' - -/* - * Namespaces used by the pattern editor - */ -export const ns = ['pe', 'measurements'] - -/** - * PatternEditor is the high-level FreeSewing component - * that provides the entire pattern editing environment - * - * @param {object} props.design = The name of the design we are editing - * @param {object} props.designs = An object holding the designs code - * @param {object} props.components = An object holding components to swizzle - * @param {object} props.hooks = An object holding hooks to swizzle - * @param {object} props.methods = An object holding methods to swizzle - * @param {object} props.config = An object holding the editor config to swizzle - * @param {object} props.locale = The locale (language) code - * @param {object} props.preload = Any state to preload - * - */ -export const PatternEditor = (props) => { - const [swizzled, setSwizzled] = useState(false) - - useEffect(() => { - if (!swizzled) { - const merged = { - config: swizzleConfig(props.config), - } - merged.methods = swizzleMethods(props.methods, merged) - merged.components = swizzleComponents(props.components, merged) - merged.hooks = swizzleHooks(props.hooks, merged) - setSwizzled(merged) - } - }, [swizzled, props.components, props.config, props.hooks, props.methods]) - - if (!swizzled?.hooks) return - /* - * First of all, make sure we have all the required props - */ - const lackingProps = lackingPropsCheck(props) - if (lackingProps !== false) return - - /* - * Extract props we care about - */ - const { designs = {}, locale = 'en', preload } = props - - /* - * Now return the view wrapper and pass it the relevant props and the swizzled props - */ - return -} - -/** - * Helper function to verify that all props that are required to - * run the editor are present. - * - * Note that these errors are not translation, because they are - * not intended for end-users, but rather for developers. - * - * @param {object} props - The props passed to the PatternEditor component - * @return {bool} result - Either true or false depending on required props being present - */ -const lackingPropsCheck = (props) => { - if (typeof props.designs !== 'object') - return "Please pass a 'designs' prop with the designs supported by this editor" - if (Object.keys(props.designs).length < 1) return "The 'designs' prop does not hold any designs" - - return false -} - -/** - * A component to inform the user that the editor cannot be started - * because there are missing required props - */ -const LackingPropsError = ({ error }) => ( -
-

Unable to initialize pattern editor

-

{error}

-
-) diff --git a/packages/react-components/src/editor/nl.yaml b/packages/react-components/src/editor/nl.yaml deleted file mode 100644 index 58d34e436a4..00000000000 --- a/packages/react-components/src/editor/nl.yaml +++ /dev/null @@ -1,23 +0,0 @@ -# Popout component -comment: Opmerking -note: Notitie -tip: Tip -warning: Waarschuwing -fixme: FIXME -link: Link -related: Gerelateerd - -# Mesurements view -measurements: Maten -measurementsAreOk: We hebben alle benodigde maten om dit patroon te tekenen. -editMeasurements: Maten Aanpassen -editMeasurementsDesc: Hier kan je manueel de maten aanpassen. -requiredMeasurements: Vereiste Maten -optionalMeasurements: Optionele Maten - -# Designs view -pickADesign: Kies een ontwerp - -# View wrapper -requiredPropsMissing.t: Vereiste props ontbreken -requiredPropsMissing.d: De FreeSewing patroon editor moet correct geinitialiseerd worden. Momenteel ontbreken een aantal props die noodzakelijk zijn om de editor te starten. diff --git a/packages/react-components/src/editor/props.md b/packages/react-components/src/editor/props.md deleted file mode 100644 index 7933b55d590..00000000000 --- a/packages/react-components/src/editor/props.md +++ /dev/null @@ -1,26 +0,0 @@ -# List of props that can be passed to the pattern editor - -| Prop | Default | Description | -| ---- | ------- | ----------- | -| `design` | `undefined` | Name of the current design (key in the `objects` prop).
Note that this will set the initial state, but it can be changed by the user. | -| `designs` | `{}` |Object holding all designs that are available. | -| `locale` | `en` | Language code | -| `imperial`| `false` | Whether to use imperial units as the default, or not | -| `components` | `{}` | Object holding swizzled components | -| `hooks` | `{}` | Object holding swizzled hooks | -| `methods` | `{}` | Object holding swizzled methods | - - -## Defaults object - -```mjs -{ - locale: 'en', - imperial: 'false', - ui: { - renderer: 'react', - kiosk: false, - } -} -``` - diff --git a/packages/react-components/src/editor/swizzle/components/accordion.mjs b/packages/react-components/src/editor/swizzle/components/accordion.mjs deleted file mode 100644 index d2d561f0cbe..00000000000 --- a/packages/react-components/src/editor/swizzle/components/accordion.mjs +++ /dev/null @@ -1,64 +0,0 @@ -import { useState } from 'react' - -/* - * DaisyUI's accordion seems rather unreliable. - * So instead, we handle this in React state - */ -const getProps = (isActive) => ({ - className: `p-2 px-4 rounded-lg bg-transparent shadow - w-full mt-2 py-4 h-auto content-start text-left bg-opacity-20 - ${isActive ? 'hover:bg-transparent' : 'hover:bg-secondary hover:bg-opacity-10'}`, -}) - -const getSubProps = (isActive) => ({ - className: ` p-2 px-4 rounded bg-transparent w-full mt-2 py-4 h-auto - content-start bg-secondary text-left bg-opacity-20 - ${ - isActive - ? 'bg-opacity-100 hover:bg-transparent shadow' - : 'hover:bg-opacity-10 hover:bg-secondary ' - }`, -}) - -const components = { - button: (props) => , - div: (props) =>
{props.children}
, -} - -export const BaseAccordion = ({ - items, // Items in the accordion - act, // Allows one to preset the active (opened) entry - propsGetter = getProps, // Method to get the relevant props - component = 'button', -}) => { - const [active, setActive] = useState(act) - const Component = components[component] - - return ( - - ) -} - -export const SubAccordion = (props) => -export const Accordion = (props) => diff --git a/packages/react-components/src/editor/swizzle/components/aside-view-menu.mjs b/packages/react-components/src/editor/swizzle/components/aside-view-menu.mjs deleted file mode 100644 index 13bca1d376a..00000000000 --- a/packages/react-components/src/editor/swizzle/components/aside-view-menu.mjs +++ /dev/null @@ -1,122 +0,0 @@ -import { useState } from 'react' - -export const AsideViewMenuButton = ({ - href, - label, - children, - onClick = false, - active = false, - extraClasses = 'lg:hover:bg-secondary lg:hover:text-secondary-content', - Swizzled, -}) => { - const className = `w-full flex flex-row items-center px-4 py-2 ${extraClasses} ${ - active - ? 'font-bold lg:font-normal bg-secondary bg-opacity-10 lg:bg-secondary lg:text-secondary-content lg:bg-opacity-50' - : 'lg:bg-neutral lg:text-neutral-content' - }` - const span = {label} - - return onClick ? ( - - ) : ( - - {span} - {children} - - ) -} - -export const ViewTypeIcon = ({ Swizzled, view, className = 'h-6 w-6 grow-0' }) => { - const Icon = Swizzled.components[`View${Swizzled.methods.capitalize(view)}Icon`] - if (!Icon) return - - return -} - -export const AsideViewMenuSpacer = () => ( -
-) - -export const AsideViewMenuIcons = ({ state, update, setDense, dense, Swizzled }) => { - const { t } = Swizzled.methods - const iconSize = 'h-6 w-6 grow-0' - - const output = [ - setDense(!dense)} - label={ - dense ? ( - '' - ) : ( - - Editor Views - - ) - } - extraClasses="hidden lg:flex text-accent bg-neutral hover:bg-accent hover:text-neutral-content" - > - {dense ? ( - - ) : ( - - )} - , - ] - - let i = 1 - for (const view of [ - 'spacer', - ...Swizzled.config.mainViews, - 'spacer', - ...Swizzled.config.extraViews, - 'spacerOver3', - ...Swizzled.config.devViews, - 'spacer', - 'picker', - ]) { - if (view === 'spacer') output.push() - else if (view === 'spacerOver3') - output.push(state.ui.ux > 3 ? : null) - else if (state.ui.ux >= Swizzled.config.uxLevels.views[view]) - output.push( - update.view(view)} - label={t(`pe:view.${view}.t`)} - active={state.view === view} - > - - - ) - i++ - } - - return output -} - -export const AsideViewMenu = ({ Swizzled, update, state }) => { - const [dense, setDense] = useState(true) - return ( -
- -
- ) -} diff --git a/packages/react-components/src/editor/swizzle/components/auth-wrapper.mjs b/packages/react-components/src/editor/swizzle/components/auth-wrapper.mjs deleted file mode 100644 index 26ff0ad6be6..00000000000 --- a/packages/react-components/src/editor/swizzle/components/auth-wrapper.mjs +++ /dev/null @@ -1,210 +0,0 @@ -import { useState, useEffect } from 'react' - -export const AuthMessageWrapper = ({ children }) => ( -
{children}
-) - -export const ContactSupport = ({ t, Swizzled }) => ( -
- - {t('contactSupport')} - -
-) - -export const AuthRequired = ({ t, banner, Swizzled }) => ( - - {banner} -

{Swizzled.methods.t('pe:authRequired')}

-

{t('pe:membersOnly')}

-
- - - {t('pe:signUp')} - - - - {t('signIn')} - -
-
-) - -export const AccountInactive = ({ t, banner, Swizzled }) => ( - - {banner} -

{t('accountInactive')}

-

{t('accountInactiveMsg')}

-

{t('signupAgain')}

-
- - {t('signUp')} - -
-
-) - -export const AccountDisabled = ({ t, banner, Swizzled }) => ( - - {banner} -

{t('accountDisabled')}

-

{t('accountDisabledMsg')}

- -
-) - -export const AccountProhibited = ({ t, banner, Swizzled }) => ( - - {banner} -

{t('accountProhibited')}

-

{t('accountProhibitedMsg')}

- -
-) - -export const AccountStatusUnknown = ({ t, banner, Swizzled }) => ( - - {banner} -

{t('statusUnknown')}

-

{t('statusUnknownMsg')}

- -
-) - -export const RoleLacking = ({ t, requiredRole, role, banner, Swizzled }) => ( - - {banner} -

{t('roleLacking')}

-

- - -) - -export const ConsentLacking = ({ banner, Swizzled }) => { - //const { setAccount, setToken, setSeenUser } = Swizzled.hooks.useAccount() - //const backend = Swizzled.hooks.useBackend() - - //const updateConsent = async ({ consent1, consent2 }) => { - // let consent = 0 - // if (consent1) consent = 1 - // if (consent1 && consent2) consent = 2 - // if (consent > 0) { - // const result = await backend.updateConsent(consent) - // if (result.success) { - // setToken(result.data.token) - // setAccount(result.data.account) - // setSeenUser(result.data.account.username) - // refresh() - // } else { - // console.log('something went wrong', result) - // refresh() - // } - // } - //} - - return ( - -

- {banner} -

FIXME: Handle content form

- {/**/} -
-
- ) -} - -export const AuthWrapper = ({ children, requiredRole = 'user', Swizzled }) => { - const { t } = Swizzled.methods - const { useAccount, useBackend } = Swizzled.hooks - const { account, setAccount, token, admin, stopImpersonating, signOut } = useAccount() - const backend = useBackend() - - const [ready, setReady] = useState(false) - const [impersonating, setImpersonating] = useState(false) - const [error, setError] = useState(false) - const [refreshCount, setRefreshCount] = useState(0) - - /* - * Avoid hydration errors - */ - useEffect(() => { - const verifyAdmin = async () => { - const result = await backend.adminPing(admin.token) - if (result.success && result.data.account.role === 'admin') { - setImpersonating({ - admin: result.data.account.username, - user: account.username, - }) - } - setReady(true) - } - const verifyUser = async () => { - const result = await backend.ping() - if (result.success) { - // Refresh account in local storage - setAccount({ - ...account, - ...result.data.account, - }) - } else { - if (result.data?.error?.error) setError(result.data.error.error) - else signOut() - } - setReady(true) - } - if (admin && admin.token) verifyAdmin() - if (token) verifyUser() - else setReady(true) - }, [admin, token, refreshCount]) - - const refresh = () => { - setRefreshCount(refreshCount + 1) - setError(false) - } - - if (!ready) return - - const banner = impersonating ? ( -
- - Hi {impersonating.admin}, you are currently impersonating {impersonating.user} - - -
- ) : null - - const childProps = { t, banner, Swizzled } - - if (!token || !account.username) return - if (error) { - if (error === 'accountInactive') return - if (error === 'accountDisabled') return - if (error === 'accountBlocked') return - if (error === 'consentLacking') - return - return - } - - if ( - !Swizzled.config.roles.levels[account.role] || - Swizzled.config.roles.levels[account.role] < Swizzled.config.roles.levels[requiredRole] - ) { - return ( - - ) - } - - return children -} diff --git a/packages/react-components/src/editor/swizzle/components/curated-sets.mjs b/packages/react-components/src/editor/swizzle/components/curated-sets.mjs deleted file mode 100644 index bb25160bf82..00000000000 --- a/packages/react-components/src/editor/swizzle/components/curated-sets.mjs +++ /dev/null @@ -1,37 +0,0 @@ -export const CuratedMeasurementsSetLineup = ({ sets = [], locale, clickHandler, Swizzled }) => ( -
1 ? 'justify-start px-8' : 'justify-center' - } overflow-x-scroll`} - style={{ - backgroundImage: `url(/img/lineup-backdrop.svg)`, - width: 'auto', - backgroundSize: 'auto 100%', - backgroundRepeat: 'repeat-x', - }} - > - {sets.map((set) => { - const props = { - className: 'aspect-[1/3] w-auto h-96', - style: { - backgroundImage: `url(${Swizzled.methods.cloudImageUrl({ - id: `cset-${set.id}`, - type: 'lineup', - })})`, - width: 'auto', - backgroundSize: 'contain', - backgroundRepeat: 'no-repeat', - backgroundPosition: 'center', - }, - onClick: () => clickHandler(set), - } - - return ( -
- - {set[`name${Swizzled.methods.capitalize(locale)}`]} -
- ) - })} -
-) diff --git a/packages/react-components/src/editor/swizzle/components/designs-view.mjs b/packages/react-components/src/editor/swizzle/components/designs-view.mjs deleted file mode 100644 index f6ed0a3a326..00000000000 --- a/packages/react-components/src/editor/swizzle/components/designs-view.mjs +++ /dev/null @@ -1,28 +0,0 @@ -/** - * The design view is loaded if and only if not design is passed to the editor - * - * @param {Object} props - All the props - * @param {Object} designs - Object holding all designs - * @param {object} props.Swizzled - An object holding swizzled code - * @param {Object} update - ViewWrapper state update object - */ -export const DesignsView = ({ designs = {}, Swizzled, update }) => ( -
-

{Swizzled.methods.t('pe:chooseADesign')}

-
    - {Object.keys(designs).map((name) => ( -
  • - -
  • - ))} -
-
-) diff --git a/packages/react-components/src/editor/swizzle/components/draft-view.mjs b/packages/react-components/src/editor/swizzle/components/draft-view.mjs deleted file mode 100644 index 39975a0255e..00000000000 --- a/packages/react-components/src/editor/swizzle/components/draft-view.mjs +++ /dev/null @@ -1,67 +0,0 @@ -/** - * The draft view allows users to tweak their pattern - * - * @param (object) props - All the props - * @param {function} props.Design - The design constructor - * @param {array} props.missingMeasurements - List of missing measurements for the current design - * @param {object} props.state - The ViewWrapper state object - * @param {object} props.state.settings - The current settings - * @param {object} props.update - Helper object for updating the ViewWrapper state - * @param {object} props.Swizzled - An object holding swizzled code - * @return {function} DraftView - React component - */ -export const DraftView = ({ Design, state, update, Swizzled }) => { - /* - * Don't trust that we have all measurements - * - * We do not need to change the view here. That is done in the central - * ViewWrapper componenet. However, checking the measurements against - * the design takes a brief moment, so this component will typically - * render before that happens, and if measurments are missing it will - * throw and error. - * - * So when measurements are missing, we just return here and the view - * will switch on the next render loop. - */ - if (Swizzled.methods.missingMeasurements(state)) return null - - /* - * First, attempt to draft - */ - const { pattern } = Swizzled.methods.draft(Design, state.settings) - - let output = null - let renderProps = false - if (state.ui?.renderer === 'svg') { - try { - const __html = pattern.render() - output = ( - -
- - ) - } catch (err) { - console.log(err) - } - } else { - renderProps = pattern.getRenderProps() - output = ( - - ) - } - - return ( - - ) : null - } - /> - ) -} diff --git a/packages/react-components/src/editor/swizzle/components/dynamic-mdx.mjs b/packages/react-components/src/editor/swizzle/components/dynamic-mdx.mjs deleted file mode 100644 index 27319260e6e..00000000000 --- a/packages/react-components/src/editor/swizzle/components/dynamic-mdx.mjs +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Loading MDX dynamically is non-trivial an depends on the - * environment in which the component is loaded. - * By default, we use this component, which disabled loading - * inline docs. If you want this to work, you need to pass in - * your own DynamicMdx component into the editor: - * - * - */ -export const DynamicMdx = ({ Swizzled }) => ( - Not implemented -) diff --git a/packages/react-components/src/editor/swizzle/components/error-view.mjs b/packages/react-components/src/editor/swizzle/components/error-view.mjs deleted file mode 100644 index d2997094f14..00000000000 --- a/packages/react-components/src/editor/swizzle/components/error-view.mjs +++ /dev/null @@ -1,23 +0,0 @@ -/** - * The error view is loaded if and only an error occurs that we can't handle - * - * @param {object} props - The component's props - * @param {object} props.Swizzled - Swizzled code - * @param {function} props.Design - The design constructor - * @param {object} props.state - The ViewWrapper state object - * @param {object} props.state.settings - The current settings - * @param {object} props.update - Helper object for updating the ViewWrapper state - * @param {array} props.missingMeasurements - List of missing measurements for the current design - * @param {object} props.components - The possibly swizzled components - * @param {object} props.methods - The possibly swizzled methods - * @param {function} props.methods.t - The translation method - * @param {object} props.config - The possibly swizzled pattern editor configuration - * @return {function} MeasurementsView - React component - */ -export const ErrorView = ({ Swizzled, state }) => ( -
-

{Swizzled.methods.t('oops')}

-

FIXME: Something went wrong

-
{JSON.stringify(state, null, 2)}
-
-) diff --git a/packages/react-components/src/editor/swizzle/components/flags.mjs b/packages/react-components/src/editor/swizzle/components/flags.mjs deleted file mode 100644 index c549905f1fd..00000000000 --- a/packages/react-components/src/editor/swizzle/components/flags.mjs +++ /dev/null @@ -1,103 +0,0 @@ -import mustache from 'mustache' - -export const FlagTypeIcon = ({ Swizzled, type, className = 'w-6 h-6' }) => { - const Icon = Swizzled.components[`Flag${Swizzled.methods.capitalize(type)}Icon`] - - return Icon ? : null -} - -export const Flag = ({ Swizzled, data, handleUpdate }) => { - const btnIcon = data.suggest?.icon ? ( - - ) : null - const { t } = Swizzled.methods - - const button = - data.suggest?.text && data.suggest?.update ? ( - - ) : null - - const desc = data.replace ? mustache.render(t(data.desc), data.replace) : t(data.desc) - const notes = data.notes - ? Array.isArray(data.notes) - ? '\n\n' + - data.notes - .map((note) => (data.replace ? mustache.render(t(note), data.replace) : t(note))) - .join('\n\n') - : '\n\n' + (data.replace ? mustache.render(t(data.notes), data.replace) : t(data.notes)) - : null - - return ( -
-
-
{desc}
-
{notes}
-
- {button ?
{button}
: null} -
- ) -} -// - -export const FlagsAccordionTitle = ({ flags, Swizzled }) => { - const { t } = Swizzled.methods - const flagList = Swizzled.methods.flattenFlags(flags) - - if (Object.keys(flagList).length < 1) return null - - return ( - <> -
- - {t('pe:flagMenu.t')} ({Object.keys(flagList).length}) - - -
-

- {Object.keys(flagList).length > 1 ? t('pe:flagMenuMany.d') : t('pe:flagMenuOne.d')} -

- - ) -} - -export const FlagsAccordionEntries = ({ flags, update, Swizzled }) => { - const flagList = Swizzled.methods.flattenFlags(flags) - const { t } = Swizzled.methods - - if (Object.keys(flagList).length < 1) return null - - const handleUpdate = (config) => { - if (config.settings) update.settings(...config.settings) - if (config.ui) update.ui(...config.settings) - } - - return ( - { - const title = flag.replace ? mustache.render(t(flag.title), flag.replace) : t(flag.title) - - return [ -
-
-
- -
- {title} -
- {flag.type} -
, - , - key, - ] - })} - /> - ) -} diff --git a/packages/react-components/src/editor/swizzle/components/header-menu.mjs b/packages/react-components/src/editor/swizzle/components/header-menu.mjs deleted file mode 100644 index e88d0812c77..00000000000 --- a/packages/react-components/src/editor/swizzle/components/header-menu.mjs +++ /dev/null @@ -1,525 +0,0 @@ -import { useState } from 'react' - -export const HeaderMenu = ({ state, Swizzled, update, Design, pattern }) => { - const [open, setOpen] = useState() - - /* - * Guard views that require measurements agains missing measurements - * and make sure there's a view-specific header menu - */ - const ViewMenu = - !Swizzled.methods.missingMeasurements(state) && - Swizzled.components[`HeaderMenu${Swizzled.config.viewComponents[state.view]}`] - ? Swizzled.components[`HeaderMenu${Swizzled.config.viewComponents[state.view]}`] - : Swizzled.components.Null - - return ( -
-
- - -
-
- ) -} - -export const HeaderMenuAllViews = ({ state, Swizzled, update, open, setOpen }) => ( - -) - -export const HeaderMenuDraftView = (props) => { - const { Swizzled } = props - const flags = props.pattern?.setStores?.[0]?.plugins?.['plugin-annotations']?.flags - - return ( - <> -
- - - - {flags ? : null} -
- - - - - ) -} - -export const HeaderMenuDropdown = (props) => { - const { Swizzled, tooltip, toggle, open, setOpen, id } = props - /* - * We need to use both !fixed and md:!absolute here to override DaisyUI's - * classes on dropdown-content to force the dropdown to use the available - * screen space on mobile, rather than be positioned under its toggle button - */ - - return props.disabled ? ( - - - - ) : ( - -
-
setOpen(open === id ? false : id)} - > - {toggle} -
-
- {props.children} -
- {open === id && ( -
setOpen(false)} - >
- )} -
-
- ) -} - -export const HeaderMenuDraftViewDesignOptions = (props) => { - const { Swizzled } = props - - return ( - - - {Swizzled.methods.t('pe:designOptions.t')} - - } - > - - - ) -} - -export const HeaderMenuDraftViewCoreSettings = (props) => { - const { Swizzled } = props - - return ( - - - {Swizzled.methods.t('pe:coreSettings.t')} - - } - > - - - ) -} - -export const HeaderMenuDraftViewUiPreferences = (props) => { - const { Swizzled } = props - - return ( - - - {Swizzled.methods.t('pe:uiPreferences.t')} - - } - > - - - ) -} - -export const HeaderMenuDraftViewFlags = (props) => { - const { Swizzled } = props - const count = Object.keys(Swizzled.methods.flattenFlags(props.flags)).length - - return ( - - - - {Swizzled.methods.t('pe:flags')} - ({count}) - - - } - > - - - ) -} - -export const HeaderMenuDraftViewIcons = (props) => { - const { Swizzled, update } = props - const Button = Swizzled.components.HeaderMenuButton - const size = 'w-5 h-5' - const muted = 'text-current opacity-50' - const ux = props.state.ui.ux - const levels = { - ...props.Swizzled.config.uxLevels.core, - ...props.Swizzled.config.uxLevels.ui, - } - - return ( -
- {ux >= levels.sa ? ( - - ) : null} - {ux >= levels.paperless ? ( - - ) : null} - {ux >= levels.complete ? ( - - ) : null} - {ux >= levels.expand ? ( - - ) : null} - {ux >= levels.units ? ( - - ) : null} - - {ux >= levels.ux ? ( -
- - {[0, 1, 2, 3, 4].map((i) => ( - - ))} - -
- ) : null} - {ux >= levels.aside ? ( - - ) : null} - {ux >= levels.kiosk ? ( - - ) : null} - {ux >= levels.rotate ? ( - - ) : null} - {ux >= levels.renderer ? ( - - ) : null} -
- ) -} - -export const HeaderMenuUndoIcons = (props) => { - const { Swizzled, update, state, Design } = props - const Button = Swizzled.components.HeaderMenuButton - const size = 'w-5 h-5' - const undos = props.state._?.undos && props.state._.undos.length > 0 ? props.state._.undos : false - - return ( -
- - - - - {Swizzled.methods.t('pe:undo')} - - } - > - {undos ? ( -
    - {undos.slice(0, 9).map((step, index) => ( -
  • - -
  • - ))} -
  • - { - return null /*update.state(index, state._) */ - }} - > -
    -
    - - {Swizzled.methods.t(`pe:view.undos.t`)}... -
    - {undos.length} -
    -
    -
  • -
- ) : null} -
- - -
- ) -} - -export const HeaderMenuSaveIcons = (props) => { - const { Swizzled, update } = props - const Button = Swizzled.components.HeaderMenuButton - const size = 'w-5 h-5' - const saveable = props.state._?.undos && props.state._.undos.length > 0 - - return ( -
- - - -
- ) -} - -export const HeaderMenuIcon = (props) => { - const { Swizzled, name, extraClasses = '' } = props - const Icon = - Swizzled.components[`${Swizzled.methods.capitalize(name)}Icon`] || Swizzled.components.Noop - return -} -export const HeaderMenuIconSpacer = () => | - -export const HeaderMenuButton = ({ - Swizzled, - updateHandler, - children, - tooltip, - disabled = false, -}) => ( - - - -) - -export const HeaderMenuViewMenu = (props) => { - const { Swizzled, update, state } = props - const output = [] - let i = 1 - for (const viewName of [ - 'spacer', - ...Swizzled.config.mainViews, - 'spacer', - ...Swizzled.config.extraViews, - 'spacerOver3', - ...Swizzled.config.devViews, - 'spacer', - 'picker', - ]) { - if (viewName === 'spacer') output.push() - else if (viewName === 'spacerOver3') - output.push(state.ui.ux > 3 ? : null) - else if ( - state.ui.ux >= Swizzled.config.uxLevels.views[viewName] && - (Swizzled.config.measurementsFreeViews.includes(viewName) || - state._.missingMeasurements.length < 1) - ) - output.push( -
  • - update.view(viewName)} - > - - {Swizzled.methods.t(`pe:view.${viewName}.t`)} - -
  • - ) - i++ - } - - return ( - - - {Swizzled.methods.t('pe:views.t')} - - } - > -
      - {output} -
    -
    - ) -} diff --git a/packages/react-components/src/editor/swizzle/components/html-span.mjs b/packages/react-components/src/editor/swizzle/components/html-span.mjs deleted file mode 100644 index 3d98e8acc26..00000000000 --- a/packages/react-components/src/editor/swizzle/components/html-span.mjs +++ /dev/null @@ -1 +0,0 @@ -export const HtmlSpan = ({ html }) => diff --git a/packages/react-components/src/editor/swizzle/components/icons.mjs b/packages/react-components/src/editor/swizzle/components/icons.mjs deleted file mode 100644 index b62c5272b44..00000000000 --- a/packages/react-components/src/editor/swizzle/components/icons.mjs +++ /dev/null @@ -1,1135 +0,0 @@ -import React from 'react' -/* - * Used inside the pattern editor - */ -export const logoPath = - 'm18.56 0c-0.4945 0.3515-0.469 0.3065-0.8685 0.437-0.916 0.2995-1.7945 0.135-2.837 0.048-0.3135-0.035-0.6245-0.0555-0.928-0.0575-1.5325-0.0105-2.834 0.439-3.0805 1.694-0.4545 0.2755-0.8725 0.609-1.2865 0.943-0.884 0.6975-1.5495 1.55-2.0035 2.5775-0.62 1.5175-0.06 3.146 0.2175 4.684 0.066 0.36 0.135 0.703 0.172 0.8355 0.0525 0.1865 0.145 0.3645 0.2455 0.5245 0.0235 4e-3 0.1475-0.187 0.177-0.2715 0.043-0.123 0.0385-0.3205-0.0085-0.4905-0.104-0.3825-0.203-0.693-0.2115-0.849-0.015-0.293 0.042-0.5635 0.149-0.6975 0.038-0.0475 0.125 0.1975 0.1025 0.2885-0.0265 0.1095-0.0465 0.297-0.038 0.3835 0.0235 0.293 0.0665 0.6065 0.12 0.8805 0.0685 0.3535 0.098 0.5805 0.0855 0.6685-9e-3 0.064-0.039 0.1285-0.154 0.3265-0.1 0.1735-0.152 0.314-0.16 0.438-0.0085 0.121 0.028 0.4235 0.062 0.4975 0.0495 0.1155 0.1985 0.237 0.3285 0.267 0.1245 0.0475 0.187 0.146 0.251 0.2565 0.1555 0.2965 0.2755 0.6575 0.3945 1.2015 0.058 0.2605 0.1065 0.493 0.122 0.615-0.96 1e-3 -2.1895 0.0015-3.3095 0.0015-0.377 6e-3 -1.058-0.171-1.6825-0.212-0.0905-0.977-0.5195-2.112-1.2535-2.178-0.501-0.0455-0.9165 0.145-1.268 0.9365l0.01 0.0425c0.2075-0.1735 0.4265-0.704 1.2155-0.6675 0.606 0.0275 0.808 1.1745 0.868 1.8645-0.369 0.027-0.683 0.1405-0.847 0.424h-0.0035c0 5e-4 0 0.0015 0.0015 0.0025-0.0015 1e-3 -0.0015 2e-3 -0.0015 3e-3h0.0035c0.169 0.2905 0.4945 0.403 0.877 0.4255 0.2555 7.225 7.047 8.157 8.903 8.157 6.924 0 9.348-4.705 9.7125-6.5685 0.1705 0.794-0.3665 1.8055-0.495 2.552 1.4605-1.6885 1.1965-3.312 0.9295-4.945 0.222 0.264 0.5225 0.4275 0.93 0.337-0.2905-0.194-0.6845-0.058-0.9205-0.8765-0.103-0.3535-0.192-0.6185-0.2805-0.841-0.191-0.7165-0.462-1.401-0.795-2.068-0.281-0.7235-0.0955-1.1925-0.1235-1.8135 0.5055 1.667 0.8215 2.1105 1.4115 2.285-1.484-1.788-0.976-4.5565-1.8145-7.0275 0.3795 0.223 0.8125 0.29 1.2735 0.0175-0.446-0.127-0.891 0.2085-1.531-0.732-0.5405-1.0515-1.3235-1.828-2.2735-2.513-0.509-0.332-1.074-0.555-1.642-0.762 0.5785-0.145 1.2245-0.66 1.2545-1.0445zm-0.9705 5.5535c0.762 0.278 1.602 1.334 1.5925 2.37v0.058c-0.0205 1.407-0.66 2.1635-0.633 3.1005 0.0345 1.1035 0.5095 1.4885 0.604 1.6725-0.162-0.6805-0.257-1.5365-0.043-2.2145 0.275-0.872 0.5525-1.594 0.5325-2.277-0.01-0.16-0.078-0.7585-0.1235-1.0235 0.817 1.179-0.177 2.8935 0.109 4.0155 0.497 1.9545 2.7245 2.2015 2.0615 6.1395-0.5835 3.462-4.5815 6.0895-8.6795 6.0895-3.038 0-8.3025-1.6815-8.5625-7.646 0.6175-0.044 1.2815-0.216 1.654-0.21 1.126 0 2.412 5e-4 3.381 1e-3 0.182 0.821 0.3185 1.019 1.009 1.566 0.768 0.604 0.947 0.6775 2.083 0.6885 1.1365 0.0115 1.4735-0.232 2.576-1.275 0.238-0.279 0.341-0.6445 0.4565-0.988 1.134-0.0105 1.961-0.0305 2.7745-0.0685 0.8285-0.0375 0.9455 0 2.2805-0.1375-1.335-0.1375-1.452-0.1-2.2805-0.138-0.792-0.036-1.594-0.0565-2.6785-0.0665 0.091-0.4085 0.221-0.8075 0.3595-1.202 0.0855-0.2325 0.186-0.459 0.289-0.6845l0.1125-0.035c0.217-0.077 0.409-0.242 0.4855-0.465 0.0985-0.2955 0.0285-0.6275-0.162-0.869-0.0655-0.0905-0.147-0.206-0.1805-0.257-0.1005-0.159-0.103-0.2475-0.018-0.8385 0.0715-0.495 0.0795-0.754 0.03-1.005-0.01-0.1435-0.011-0.4385-0.0155-0.518 0.038 0.021 0.1205 0.209 0.204 0.4635 0.083 0.2555 0.0965 0.3085 0.1155 0.526 0.021 0.247-0.0715 0.43-0.1475 0.7985-0.038 0.19-0.0715 0.3665-0.0715 0.3905 0 0.0255 0.018 0.0795 0.037 0.1215 0.0445 0.094 0.128 0.226 0.1435 0.226 0.2725-0.3005 0.4325-0.6715 0.575-1.048 0.15-0.426 0.194-0.878 0.299-1.3165 0.085-0.382 0.183-0.7645 0.2135-1.1565 0.0615-0.765 0.0255-1.305-0.1435-2.102-0.0405-0.18-0.1575-0.5235-0.239-0.6855zm-2.68 3.7685c0.2925-0.0035 0.582 0.032 0.8575 0.1115 0.3745 0.1435 0.427 0.478 0.496 0.8535 0.0385 0.24 0.037 0.4125-0.0065 0.6945-0.0305 0.409-0.193 0.7255-0.548 0.948-0.5355 0.099-1.108 0.1945-1.562-0.16-0.381-0.525-0.6105-1.1885-0.523-1.8355 0.0555-0.2655 0.179-0.4035 0.433-0.486 0.2735-0.0785 0.563-0.1215 0.853-0.126zm-4.4415 0.0475c0.2735-0.0025 0.55 0.0265 0.702 0.1235 0.6525 0.4415 0.443 1.16 0.185 1.7905-0.3755 0.8255-1.1875 0.795-1.9745 0.7885-0.4355-0.1275-0.4755-0.4845-0.5385-0.866-0.054-0.3685-0.169-0.7635-0.073-1.134 0.2465-0.596 1.1475-0.6645 1.699-0.7025zm9.9515 0.103c0.0035 1.5865 0.2745 2.366 0.8185 3.4895-0.3205-0.6115-0.7785-0.9595-0.949-1.6905-0.326-1.4115 0.0255-1.3325 0.1305-1.799zm-7.9065 1.149c0.086 0.087 0.1275 0.207 0.202 0.3025 0.0575-0.0985 0.1165-0.1965 0.1905-0.284 0.0385 1e-3 0.0855 0.077 0.128 0.213 0.182 0.503 0.2175 1.0565 0.4535 1.54 0.2205 0.35-0.0805 0.554-0.411 0.57-0.241-5e-4 -0.343-0.165-0.4845-0.328-0.0365 0.1065-0.106 0.175-0.189 0.247-0.211 0.177-0.6245 0.1115-0.6885-0.1675 0.085-0.533 0.3565-1.0225 0.5345-1.5335 0.0885-0.1865 0.0895-0.3295 0.2645-0.5595zm-3.096 2.6925c0.1065 0 0.399 0.1985 0.4585 0.3105 0.041 0.0745 0.1345 0.3645 0.141 0.435 0.0105 0.084-0.015 0.283-0.041 0.337-0.019 0.0385-0.0335 0.044-0.0555 0.019-0.0185-0.021-0.2635-0.491-0.42-0.802-0.123-0.249-0.136-0.2995-0.083-0.2995zm6.111 0.1555c4e-3 5e-4 0.01 2e-3 0.0155 0.0035 0.033 0.0135 0.01 0.1305-0.114 0.5555-0.0235 0.128-0.0805 0.229-0.164 0.313-0.0275 0-0.04-0.032-0.083-0.2095-0.0365-0.1515-0.0405-0.2865-0.015-0.4075 0.044-0.1515 0.222-0.198 0.3605-0.255zm-0.7415 0.9265c0.0105-2e-3 0.0205 0.0035 0.0335 0.014 0.045 0.0315 0.0515 0.1145 0.0215 0.277-0.0365 0.209-0.0445 0.232-0.0985 0.2535-0.0235 0.0105-0.0655 0.018-0.0935 0.018-0.0505-9e-3 -0.0635-0.05-0.0515-0.112 0-0.13 0.038-0.243 0.124-0.3765 0.0325-0.05 0.049-0.0715 0.0645-0.074zm-4.3165 0.0095c0.0345 0 0.1385 0.075 0.177 0.127 0.043 0.055 0.092 0.3825 0.0645 0.439-0.0315 0.071-0.1855 0.0355-0.228-0.053-0.026-0.053-0.0875-0.339-0.0875-0.407 0-0.063 0.0305-0.106 0.074-0.106zm3.9455 0.0865c0.042 0.06 0.053 0.137 0.044 0.306l-0.0085 0.154-0.044 0.044c-0.0265 0.0245-0.0715 0.0545-0.0985 0.067-0.0595 0.028-0.105 0.0305-0.1135 8e-3 -0.01-0.03 7e-3 -0.221 0.0255-0.2855 0.0215-0.0665 0.118-0.265 0.15-0.307 0.0145-0.0385 0.0315 0.0095 0.045 0.0135zm-2.5105-9e-3c0.0905 0.023 0.1305 0.1045 0.18 0.1785l0.0335 0.066-0.047 0.1635c-0.025 0.09-0.0515 0.171-0.0595 0.18-9e-3 0.01-0.0425 0.015-0.092 0.0145-0.132-0.0035-0.147-9e-3 -0.1825-0.063l-0.033-0.049 0.028-0.1375c0.0405-0.198 0.06-0.2575 0.105-0.3085 0.0235-0.0275 0.047-0.0425 0.0675-0.0445zm-0.8355 0.1415 0.0745 0.0745 0.0125 0.1685c0.0065 0.092 0.0095 0.1775 0.0045 0.188-0.0045 0.0145-0.0315 0.0185-0.115 0.0185h-0.1085c-0.058-0.0635-0.076-0.141-0.1005-0.221-0.057-0.2405-0.057-0.35 2e-3 -0.3645 0.0965 6e-3 0.16 0.076 0.2305 0.136zm2.9-0.1155c0.118 0.0315 0.0945 0.219 0.094 0.353-9e-3 0.217-0.0175 0.262-0.0455 0.29-0.0485 0.0485-0.1835 0.0215-0.249-0.0505-0.0215-0.026-0.0235-0.034-0.0065-0.1395 0.0195-0.1285 0.0445-0.2085 0.1-0.3185 0.0405-0.079 0.0785-0.1285 0.107-0.1345zm-2.663 0.01c0.0065-5e-4 0.017 0 0.027 1e-3 0.075 6e-3 0.145 0.055 0.207 0.145l0.05 0.0735c0.0045 0.1205 0 0.2475-0.0215 0.3595-0.013 0.0065-0.067 0.0165-0.12 0.0215-0.092 0.0085-0.1005 0.0065-0.1325-0.0215-0.0445-0.038-0.057-0.1085-0.068-0.3425-0.0065-0.191-2e-3 -0.2335 0.058-0.2365zm1.1345 0.04c0.0805 0.017 0.1315 0.06 0.154 0.1305 0.018 0.0605 0.029 0.399 0.0115 0.4225-6e-3 0.01-0.044 0.0225-0.0875 0.028-0.162 0.0205-0.305 5e-3 -0.319-0.0335-0.018-0.044 0.1025-0.48 0.147-0.534 0.019-0.042 0.065-0.0095 0.094-0.0135zm1.049 3e-3c0.0355-0.0035 0.0735 0.0305 0.1105 0.103 0.03 0.0605 0.0345 0.0815 0.0345 0.217 0 0.108-0.0065 0.1545-0.018 0.1645-0.01 8e-3 -0.0505 0.0225-0.0935 0.0335-0.075 0.0195-0.0915 0.0215-0.115 0.0135l-0.1125-0.0205 0.0085-0.067c8e-3 -0.0875 0.0655-0.2815 0.106-0.3655 0.024-0.05 0.0515-0.075 0.0795-0.0785zm-0.489 0.0015c0.0235-1e-3 0.0345 0.0045 0.0495 0.021 0.0355 0.042 0.0805 0.166 0.109 0.2985 0.038 0.1865 0.038 0.186-0.0435 0.2105-0.0355 0.011-0.1105 0.0225-0.164 0.0255-0.1765 9e-3 -0.19-0.0015-0.1685-0.1575 0.017-0.139 0.0855-0.358 0.115-0.374 0.032-0.017 0.069-0.0165 0.1025-0.024zm-8.9965 0.7045c0.0015-5e-4 0.0035 0 0.0035 0 0.0045 0.0975 0.0045 0.196 0.0065 0.294-0.2475-0.019-0.4295-0.078-0.4295-0.1475 0-0.0685 0.1755-0.127 0.4195-0.1465zm0.4325 0.0085c0.2005 0.025 0.339 0.0775 0.3365 0.138 0 0.061-0.134 0.113-0.333 0.1375-2e-3 -0.0915-2e-3 -0.1835-0.0035-0.2755zm9.363 0.2665c0.017-0.0015 0.0245-3e-3 0.0505-5e-4 0.104 0.0105 0.119 0.017 0.119 0.052 0 0.046-0.079 0.1845-0.1325 0.2325-0.025 0.024-0.0595 0.044-0.0715 0.044-0.06 0-0.095-0.1265-0.067-0.243 0.017-0.063 0.048-0.0825 0.1015-0.085zm-0.3775 0.0415c0.0465-4e-3 0.0915 0.0085 0.1365 0.0145-0.013 0.1315-0.072 0.239-0.1815 0.3105-0.027 0-0.0405-0.0515-0.0405-0.164 0-0.134 7e-3 -0.1595 0.0855-0.161zm-0.414 0.0485c0.0965 0 0.1815 0.0045 0.1855 0.01 0.018 0.017-0.034 0.146-0.1105 0.277-0.0655 0.1165-0.075 0.125-0.1155 0.128-0.159-0.018-0.1545-0.2045-0.179-0.3325 0-0.076 0.017-0.0825 0.2195-0.0825zm-1.5045 0.0145c0.1105 2e-3 0.1535 0.0185 0.1535 0.061 0 0.054-0.041 0.1615-0.0645 0.175-0.0355 0.0195-0.0385 0.0185-0.1085-0.0545-0.1105-0.124-0.123-0.147 0.0195-0.1815zm0.532 0.0055c2e-3 3e-3 0.0235 0.042 0.045 0.086 0.047 0.0915 0.0505 0.1315 0.017 0.162-0.079 0.045-0.0955 0.0195-0.167-0.026-0.083-0.0785-0.1485-0.184-0.127-0.206 0.074-0.0265 0.1555-0.0165 0.232-0.016zm0.211 0.0025 0.1975 0.0035c0.077 0 0.1435 4e-3 0.147 0.01 0.0135 0.012-0.03 0.269-0.0535 0.327-0.027 0.065-0.1215 0.0655-0.1705-0.0115-0.07-0.1105-0.116-0.2035-0.1175-0.2675z' - -export const IconWrapper = ({ - className = 'w-6 h-6', - stroke = 2, - children = null, - fill = false, - fillOpacity = 1, - dasharray = null, - wrapped = true, -}) => - wrapped ? ( - - {children} - - ) : ( - <> {children} - ) - -// Looks like a play triangle -export const ApplyIcon = (props) => ( - - - -) - -// Looks like a lab beaker -export const BeakerIcon = (props) => ( - - - -) - -// Looks like a left U-turn that we slightly rotate -export const BackIcon = (props) => ( - - - -) - -// Looks like a red X -export const BoolNoIcon = ({ size = 6 }) => ( - -) - -// Looks like a green checkbox -export const BoolYesIcon = ({ size = 6 }) => ( - -) - -// Looks like a bookmark -export const BookmarkIcon = (props) => ( - - - -) - -// Looks lik a speech bubble -export const ChatIcon = (props) => ( - - - -) - -// Looks like a circle -export const CircleIcon = (props) => ( - - - -) - -// Looks like a X -export const CloseIcon = (props) => ( - - - -) - -// Looks like a museum building -export const CuratedMeasurementsSetIcon = (props) => ( - - - -) - -// Looks like a coathanger -export const DesignIcon = (props) => ( - - - -) - -// Looks like a left and right pane with different level of detail -export const DetailIcon = (props) => ( - - - -) - -// Looks like a document icon -export const DocsIcon = (props) => ( - - - -) - -// Looks like a down pointing chevron -export const DownIcon = (props) => ( - - - -) - -// Looks like a pencil -export const EditIcon = (props) => ( - - - -) - -// Looks like FIXME -export const ErrorIcon = (props) => ( - - - -) - -// Looks like arrows pointing outwards -export const ExpandIcon = (props) => ( - - - -) - -// Looks like a file/sheet with an arrow pointing downwards -export const ExportIcon = (props) => ( - - - -) - -// Looks like a ! in a triangle, is intended to be shown on an error background -export const FailureIcon = ({ size = 6 }) => ( - -) - -// Looks lik a flag -export const FlagIcon = (props) => ( - - - -) - -// Looks like a gauge or speedometer -export const GaugeIcon = (props) => ( - - - - -) - -// Looks like abox -export const GroupIcon = (props) => ( - - - -) - -// Looks like a question mark in a circle -export const HelpIcon = (props) => ( - - - -) - -// Looks like a pie with a slice a bit out of it -export const IncludeIcon = (props) => ( - - - - -) - -// Looks like a rectangle with rounded corners (like a full screen display) -export const KioskIcon = (props) => ( - - - -) - -// Looks like a left pointing chevron -export const LeftIcon = (props) => ( - - - -) - -// Looks like a bullet list -export const ListIcon = (props) => ( - - - -) - -// Looks like a padlock -export const LockIcon = (props) => ( - - - -) - -// Looks like 4 boxes spaces out -export const MarginIcon = (props) => ( - - - -) - -// Looks like a tape measure -export const MeasurementsIcon = (props) => ( - - - -) - -// Looks like two people's heads next/behinf to each other, one bigger, one smaller -export const MeasurementsSetIcon = (props) => ( - - - -) - -// Looks like 3 horizontal lines (hamburger menu) -export const MenuIcon = (props) => ( - - - -) - -// Looks like a X -export const NoIcon = (props) => ( - - - -) - -// Looks like a checkmark -export const OkIcon = (props) => ( - - - -) - -// Looks like sliders on a mixing panel -export const OptionsIcon = (props) => ( - - - -) - -// Looks like a grid -export const PaperlessIcon = (props) => ( - - - - -) - -// Looks like a + -export const PlusIcon = (props) => ( - - - -) - -// Looks like a printer -export const PrintIcon = (props) => ( - - - -) - -// Looks like a single rewind arrow -export const ResetIcon = (props) => ( - - - -) - -// Looks like a double rewind arrow -export const ResetAllIcon = (props) => ( - - - -) - -// Looks like a right pointing chevron -export const RightIcon = (props) => ( - - - -) - -// Looks like a rocket -export const RocketIcon = (props) => ( - - - -) - -// Looks like two arrows in a circular layout -export const RotateIcon = (props) => ( - - - -) - -// Looks like a cloud with a plus sign in it -export const SaveIcon = (props) => ( - - - -) - -// Looks like a cloud with a plus sign in it -export const SaveAsIcon = (props) => ( - - - -) - -// Looks like a small solid circle with a larger dashed circle around it -export const SaIcon = (props) => ( - - - - -) - -// Looks like lines of varying thickness -export const ScaleIcon = (props) => ( - - - - - -) - -// Looks like a gear -export const SettingsIcon = (props) => ( - - - - -) - -// Looks like a spinning circle -export const SpinnerIcon = (props) => ( - - - - -) - -// Looks like a white checkbox, intended to be shown on a success-colored background -export const SuccessIcon = ({ size = 6 }) => ( - -) - -// Looks like a light bulb -export const TipIcon = (props) => ( - - - -) - -// Looks like a trashcan -export const TrashIcon = (props) => ( - - - -) - -// Looks like a desktop screen -export const UiIcon = (props) => ( - - - -) - -// Looks like a rewind arrow, but takes text to go inside it -export const UndoIcon = (props) => ( - - - {props.text ? ( - - {props.text} - - ) : null} - -) - -// Looks like a bit of measuring tape -export const UnitsIcon = (props) => ( - - - - -) - -// Looks like an up pointing chevron -export const UpIcon = (props) => ( - - - -) -// Looks like a cloud with an arrow pointing upwards in it -export const UploadIcon = (props) => ( - - - -) - -// Looks like old-timey scales -export const UxIcon = (props) => ( - - - -) - -// Looks like an ! in a triangle -export const WarningIcon = (props) => ( - - - -) - -// Looks like a wrench -export const WrenchIcon = (props) => ( - - - -) - -// Looks like a box in dashed lines -export const XrayIcon = (props) => ( - - - -) - -// These icons all reuse existing icons -export const ViewDraftIcon = OptionsIcon -export const ViewMeasurementsIcon = MeasurementsIcon -export const ViewTestIcon = BeakerIcon -export const ViewTimingIcon = GaugeIcon -export const ViewPrintLayoutIcon = PrintIcon -export const ViewSaveIcon = SaveIcon -export const ViewExportIcon = ExportIcon -export const ViewEditSettingsIcon = EditIcon -export const ViewLogsIcon = ListIcon -export const ViewInspectIcon = XrayIcon -export const ViewDocsIcon = DocsIcon -export const ViewDesignsIcon = DesignIcon -export const ViewViewPickerIcon = UiIcon -export const ViewUndosIcon = BackIcon -// Flag icons -export const FlagNoteIcon = ChatIcon -export const FlagInfoIcon = DocsIcon -export const FlagTipIcon = TipIcon -export const FlagWarningIcon = WarningIcon -export const FlagErrorIcon = ErrorIcon -export const FlagFixmeIcon = WrenchIcon -export const FlagExpandIcon = ExpandIcon -export const FlagOtionsIcon = OptionsIcon - -/* - * Not used inside the pattern editor -// Used in several icons -const page = - 'M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z' - -export const BeakerIcon = (props) => ( - - - -) - -export const BioIcon = (props) => ( - - - -) - - -export const BoxIcon = (props) => ( - - - -) - -export const BriefcaseIcon = (props) => ( - - - -) - -export const BugIcon = (props) => ( - - - -) - -export const BulletIcon = (props) => ( - - - -) - -export const CalendarIcon = (props) => ( - - - -) - -export const CameraIcon = (props) => ( - - - - -) - -export const CcByIcon = (props) => ( - - - -) - -export const CisFemaleIcon = (props) => ( - - - -) - -export const CisMaleIcon = (props) => ( - - - -) - -export const ClearIcon = (props) => ( - - - -) - -export const CloneIcon = (props) => ( - - - -) - -export const CodeIcon = (props) => ( - - - -) - -export const CogIcon = (props) => ( - - - -) - -export const CommunityIcon = (props) => ( - - - -) - -export const CompareIcon = (props) => ( - - - -) - -export const CopyIcon = (props) => ( - - - -) - -export const CoverPageIcon = (props) => ( - - - - - - -) - -export const CsetIcon = (props) => ( - - - -) -export const CuratedMeasurementsSetIcon = CsetIcon - -export const CloudIcon = (props) => ( - - - -) - -export const CutIcon = (props) => ( - - - -) - -export const CuttingLayoutIcon = (props) => ( - - - - -) - -export const DetailIcon = (props) => ( - - - - -) - -export const DiscordIcon = (props) => ( - - - -) - -export const DoubleLeftIcon = (props) => ( - - - -) -export const DoubleRightIcon = (props) => ( - - - -) - -export const DownloadIcon = (props) => ( - - - -) - -export const EmailIcon = (props) => ( - - - -) - -export const FacebookIcon = (props) => ( - - - -) - -export const FilterIcon = (props) => ( - - - -) - -export const FingerprintIcon = (props) => ( - - - -) - -export const ForbiddenIcon = (props) => ( - - - -) - -export const FreeSewingIcon = (props) => ( - - - -) - -export const GaugeIcon = (props) => ( - - - - -) - -export const GitHubIcon = (props) => ( - - - -) - -export const GuideIcon = (props) => ( - - - -) - -export const GoogleIcon = (props) => ( - - - -) - -export const HeartIcon = (props) => ( - - - -) - -export const HomeIcon = (props) => ( - - - -) - -export const I18nIcon = (props) => ( - - - -) - -export const ImportIcon = (props) => ( - - - -) - -export const IncludeIcon = (props) => ( - - - - -) - -export const InstagramIcon = (props) => ( - - - -) - -export const KeyIcon = (props) => ( - - - -) - -export const LabelIcon = (props) => ( - - - - -) - -export const LeftRightIcon = (props) => ( - - - -) - -export const LinkIcon = (props) => ( - - - -) - -export const MastodonIcon = (props) => ( - - - -) - -export const MarginIcon = (props) => ( - - - -) - -export const MeasieIcon = (props) => ( - - - -) - -export const MegaphoneIcon = (props) => ( - - - -) - -export const MenuAltIcon = (props) => ( - - - -) - -export const MeasurementsSetIcon = MsetIcon - -export const MsfIcon = (props) => ( - - - -) - -// NarrowIcon - Looks like two arrow pointing inwards -export const NarrowIcon = (props) => ( - - - -) - -export const NewMsetIcon = (props) => ( - - - -) - -export const NewsletterIcon = (props) => ( - - - -) - -export const NoteIcon = (props) => ( - - - -) - -export const OpackIcon = (props) => ( - - - -) -export const OptionPackIcon = OpackIcon - -export const OpenSourceIcon = (props) => ( - - - -) - -export const PageMarginIcon = (props) => ( - - - - -) - -export const PageOrientationIcon = (props) => ( - - - - -) - -export const PageSizeIcon = (props) => ( - - - - -) - -export const PatternIcon = (props) => ( - - - -) - -export const NewPatternIcon = (props) => ( - - - -) - -export const PluginIcon = (props) => ( - - - -) - - -export const PrintIcon = (props) => ( - - - -) - -export const PrivacyIcon = (props) => ( - - - -) - -export const RedditIcon = (props) => ( - - - -) - -export const ReloadIcon = (props) => ( - - - -) - -export const RssIcon = (props) => ( - - - -) - -export const ScaleIcon = (props) => ( - - - - - -) - -export const SearchIcon = (props) => ( - - - -) - -export const ShieldIcon = (props) => ( - - - -) - -export const ShowcaseIcon = (props) => ( - - - - -) - -export const SigninIcon = (props) => ( - - - -) - -export const SignoutIcon = (props) => ( - - - -) - -export const StarIcon = (props) => ( - - - -) - -export const ThemeIcon = (props) => ( - - - -) - -export const TikTokIcon = (props) => ( - - - -) - -export const TutorialIcon = (props) => ( - - - - - -) - -export const TrophyIcon = (props) => ( - - - -) - -export const TwitchIcon = (props) => ( - - - -) - -export const TwitterIcon = (props) => ( - - - -) - - -export const UserIcon = (props) => ( - - - -) - -export const VersionIcon = (props) => ( - - - -) - -// WideIcon - Looks like two arrow pointing outwards -export const WideIcon = (props) => ( - - - -) - -export const XrayIcon = (props) => ( - - - -) - -export const YouTubeIcon = (props) => ( - - - -) - -export const ZoomInIcon = (props) => ( - - - -) - -export const ZoomOutIcon = (props) => ( - - - -) -*/ diff --git a/packages/react-components/src/editor/swizzle/components/index.mjs b/packages/react-components/src/editor/swizzle/components/index.mjs deleted file mode 100644 index f7a6dcdfdc4..00000000000 --- a/packages/react-components/src/editor/swizzle/components/index.mjs +++ /dev/null @@ -1,659 +0,0 @@ -/************************************************************************* - * * - * FreeSewing's pattern editor allows swizzling components * - * * - * To 'swizzle' means to replace the default implementation of a * - * component with a custom one. It allows one to customize * - * the pattern editor. * - * * - * This file holds the 'swizzleComponents' method that will return * - * the various components that can be swizzled, or their default * - * implementation. * - * * - * To use a custom version, simply pas it as a prop into the editor * - * under the 'components' key. So to pass a custom 'TemporaryLoader' * - * component, you do: * - * * - * * - * * - *************************************************************************/ - -/* - * Import of components that can be swizzled - */ -import { Link, AnchorLink, PageLink, WebLink, CardLink } from './link.mjs' -// Accordion -import { BaseAccordion, SubAccordion, Accordion } from './accordion.mjs' -// Auth wrapper -import { - AuthWrapper, - AuthMessageWrapper, - ContactSupport, - AuthRequired, - AccountInactive, - AccountDisabled, - AccountProhibited, - AccountStatusUnknown, - RoleLacking, - ConsentLacking, -} from './auth-wrapper.mjs' -// Ux -import { Ux } from './ux.mjs' -// Popout -import { Popout } from './popout.mjs' -// Loader -import { TemporaryLoader } from './loaders.mjs' -// Measurements Sets -import { UserSetPicker, BookmarkedSetPicker, CuratedSetPicker } from './sets.mjs' -// Curated Measurements Sets -import { CuratedMeasurementsSetLineup } from './curated-sets.mjs' -import { MeasurementsSetCard } from './measurements-set-card.mjs' -// Icons -import { - ApplyIcon, - BackIcon, - BeakerIcon, - BookmarkIcon, - BoolNoIcon, - BoolYesIcon, - CircleIcon, - CloseIcon, - CuratedMeasurementsSetIcon, - DesignIcon, - DetailIcon, - DocsIcon, - DownIcon, - EditIcon, - ExpandIcon, - ExportIcon, - FailureIcon, - FlagIcon, - FlagNoteIcon, - FlagInfoIcon, - FlagTipIcon, - FlagWarningIcon, - FlagErrorIcon, - FlagFixmeIcon, - FlagExpandIcon, - FlagOtionsIcon, - GaugeIcon, - GroupIcon, - IncludeIcon, - HelpIcon, - KioskIcon, - LeftIcon, - ListIcon, - LockIcon, - MarginIcon, - MeasurementsIcon, - MeasurementsSetIcon, - MenuIcon, - NoIcon, - OkIcon, - OptionsIcon, - PaperlessIcon, - PlusIcon, - PrintIcon, - ResetAllIcon, - ResetIcon, - RightIcon, - RocketIcon, - RotateIcon, - SaIcon, - SaveIcon, - SaveAsIcon, - ScaleIcon, - SettingsIcon, - SpinnerIcon, - SuccessIcon, - TipIcon, - TrashIcon, - UiIcon, - UndoIcon, - UnitsIcon, - UpIcon, - UploadIcon, - UxIcon, - XrayIcon, - ViewDraftIcon, - ViewMeasurementsIcon, - ViewTestIcon, - ViewTimingIcon, - ViewPrintLayoutIcon, - ViewSaveIcon, - ViewExportIcon, - ViewEditSettingsIcon, - ViewLogsIcon, - ViewInspectIcon, - ViewDocsIcon, - ViewDesignsIcon, - ViewViewPickerIcon, - ViewUndosIcon, -} from './icons.mjs' -// Measurements Editor -import { MeasurementsEditor } from './measurements-editor.mjs' -// Zoomable pattern -import { ZoomablePattern, ZoomContextProvider } from './zoomable-pattern.mjs' -import { PatternLayout } from './pattern-layout.mjs' -// inputs -import { - FormControl, - ButtonFrame, - NumberInput, - StringInput, - ListInput, - MarkdownInput, - MeasurementInput, - ToggleInput, -} from './inputs.mjs' -// Views -import { DesignsView } from './designs-view.mjs' -import { DraftView } from './draft-view.mjs' -import { ErrorView } from './error-view.mjs' -import { MeasurementsView } from './measurements-view.mjs' -import { SaveView } from './save-view.mjs' -import { ViewPicker } from './view-picker.mjs' -import { UndoStep, UndoStepTimeAgo, UndosView } from './undos-view.mjs' -// Pattern -import { Pattern } from '@freesewing/react-components/pattern' -// Menus -import { DraftMenu } from './menus/draft-menu.mjs' -import { CoreSettingsMenu, CoreSetting } from './menus/core-settings-menu.mjs' -import { DesignOptionsMenu, DesignOption } from './menus/design-options-menu.mjs' -import { UiPreferencesMenu, UiPreference } from './menus/ui-preferences-menu.mjs' -import { MenuItem, MenuItemGroup, MenuItemTitle } from './menus/containers.mjs' -import { - MenuBoolInput, - MenuConstantInput, - MenuDegInput, - MenuEditOption, - MenuListInput, - MenuListToggle, - MenuMmInput, - //MenuNumberInput, - MenuUxSettingInput, - MenuOnlySettingInput, - MenuPctInput, - MenuSliderInput, -} from './menus/shared-inputs.mjs' -import { - MenuBoolValue, - MenuConstantOptionValue, - MenuCountOptionValue, - MenuDegOptionValue, - MenuHighlightValue, - MenuListOptionValue, - MenuListValue, - MenuMmOptionValue, - MenuMmValue, - MenuOnlySettingValue, - MenuPctOptionValue, - MenuScaleSettingValue, - MenuShowValue, -} from './menus/shared-values.mjs' -import { - HeaderMenu, - HeaderMenuAllViews, - HeaderMenuDraftView, - HeaderMenuButton, - HeaderMenuDropdown, - HeaderMenuDraftViewDesignOptions, - HeaderMenuDraftViewCoreSettings, - HeaderMenuDraftViewUiPreferences, - HeaderMenuDraftViewFlags, - HeaderMenuDraftViewIcons, - HeaderMenuIcon, - HeaderMenuIconSpacer, - HeaderMenuSaveIcons, - HeaderMenuUndoIcons, - HeaderMenuViewMenu, -} from './header-menu.mjs' -// Flags -import { Flag, FlagTypeIcon, FlagsAccordionTitle, FlagsAccordionEntries } from './flags.mjs' -// View Menu -import { - AsideViewMenu, - AsideViewMenuIcons, - AsideViewMenuButton, - AsideViewMenuSpacer, - ViewTypeIcon, -} from './aside-view-menu.mjs' -import { Null } from './null.mjs' -import { LargeScreenOnly } from './large-screen-only.mjs' -import { Tooltip } from './tooltip.mjs' -import { LoadingStatus } from './loading-status.mjs' -import { Spinner, Loading } from './spinner.mjs' -import { Tab, Tabs } from './tabs.mjs' -import { Markdown } from './markdown.mjs' -import { HtmlSpan } from './html-span.mjs' -/** - * This object holds all components that can be swizzled - */ -const defaultComponents = { - Accordion, - AuthWrapper, - AuthMessageWrapper, - BackIcon, - ContactSupport, - AuthRequired, - AccountInactive, - AccountDisabled, - AccountProhibited, - AccountStatusUnknown, - AnchorLink, - AsideViewMenu, - AsideViewMenuIcons, - AsideViewMenuButton, - AsideViewMenuSpacer, - RoleLacking, - ConsentLacking, - BaseAccordion, - BookmarkedSetPicker, - ButtonFrame, - CardLink, - CircleIcon, - CoreSetting, - CoreSettingsMenu, - CuratedMeasurementsSetIcon, - CuratedMeasurementsSetLineup, - CuratedSetPicker, - DesignOption, - DesignOptionsMenu, - DesignsView, - DraftMenu, - DraftView, - ErrorView, - SaveView, - Flag, - FlagsAccordionTitle, - FlagsAccordionEntries, - FlagTypeIcon, - FormControl, - HeaderMenu, - HeaderMenuAllViews, - HeaderMenuDraftView, - HeaderMenuDraftViewDesignOptions, - HeaderMenuDraftViewCoreSettings, - HeaderMenuDraftViewUiPreferences, - HeaderMenuDraftViewFlags, - HeaderMenuDraftViewIcons, - HeaderMenuButton, - HeaderMenuDropdown, - HeaderMenuIcon, - HeaderMenuIconSpacer, - HeaderMenuSaveIcons, - HeaderMenuUndoIcons, - HtmlSpan, - LargeScreenOnly, - Link, - ListInput, - Loading, - LoadingStatus, - Markdown, - MarkdownInput, - MeasurementInput, - MeasurementsSetCard, - MeasurementsView, - MeasurementsEditor, - MenuIcon, - NumberInput, - Null, - PageLink, - Pattern, - PatternLayout, - Popout, - StringInput, - SubAccordion, - Spinner, - SpinnerIcon, - Tab, - Tabs, - TemporaryLoader, - ToggleInput, - Tooltip, - UiPreferencesMenu, - UiPreference, - UndoStep, - UndoStepTimeAgo, - UndosView, - UserSetPicker, - Ux, - HeaderMenuViewMenu, - ViewPicker, - ViewTypeIcon, - WebLink, - ZoomablePattern, - ZoomContextProvider, - // icons - ApplyIcon, - BeakerIcon, - BookmarkIcon, - BoolNoIcon, - BoolYesIcon, - CloseIcon, - DesignIcon, - DetailIcon, - DocsIcon, - DownIcon, - EditIcon, - ExpandIcon, - ExportIcon, - FailureIcon, - FlagIcon, - FlagNoteIcon, - FlagInfoIcon, - FlagTipIcon, - FlagWarningIcon, - FlagErrorIcon, - FlagFixmeIcon, - FlagExpandIcon, - FlagOtionsIcon, - GaugeIcon, - GroupIcon, - HelpIcon, - IncludeIcon, - KioskIcon, - LeftIcon, - ListIcon, - LockIcon, - MarginIcon, - MeasurementsIcon, - MeasurementsSetIcon, - NoIcon, - OkIcon, - OptionsIcon, - PaperlessIcon, - PlusIcon, - PrintIcon, - ResetAllIcon, - ResetIcon, - RightIcon, - RocketIcon, - RotateIcon, - SaIcon, - SaveIcon, - SaveAsIcon, - ScaleIcon, - SettingsIcon, - SuccessIcon, - TipIcon, - TrashIcon, - UiIcon, - UndoIcon, - UnitsIcon, - UpIcon, - UploadIcon, - UxIcon, - XrayIcon, - ViewDraftIcon, - ViewMeasurementsIcon, - ViewTestIcon, - ViewTimingIcon, - ViewPrintLayoutIcon, - ViewSaveIcon, - ViewExportIcon, - ViewEditSettingsIcon, - ViewLogsIcon, - ViewInspectIcon, - ViewDocsIcon, - ViewDesignsIcon, - ViewViewPickerIcon, - ViewUndosIcon, - // menus - MenuItem, - MenuItemGroup, - MenuItemTitle, - MenuBoolInput, - MenuConstantInput, - MenuDegInput, - MenuEditOption, - MenuListInput, - MenuListToggle, - MenuMmInput, - //MenuNumberInput, - MenuUxSettingInput, - MenuOnlySettingInput, - MenuPctInput, - MenuSliderInput, - MenuBoolValue, - MenuConstantOptionValue, - MenuCountOptionValue, - MenuDegOptionValue, - MenuHighlightValue, - MenuListOptionValue, - MenuListValue, - MenuMmOptionValue, - MenuMmValue, - MenuOnlySettingValue, - MenuPctOptionValue, - MenuScaleSettingValue, - MenuShowValue, -} - -/* - * This method returns a component that can be swizzled - * So either the passed-in component, or the default one - */ -const swizzleComponents = (components = {}, Swizzled) => { - /* - * We need to return all resulting components, swizzled or not - * So we create this object so we can pass that down - */ - const all = {} - for (let [name, Component] of Object.entries(defaultComponents)) { - all[name] = components[name] - ? (props) => components[name]({ Swizzled, ...props }) - : (props) => - } - - /* - * Return all components - */ - return all -} - -/* - * Named exports - */ -export { - swizzleComponents, - // Re-export all components for specific imports - Accordion, - AuthWrapper, - AuthMessageWrapper, - BackIcon, - ContactSupport, - AuthRequired, - AccountInactive, - AccountDisabled, - AccountProhibited, - AccountStatusUnknown, - AnchorLink, - AsideViewMenu, - AsideViewMenuIcons, - AsideViewMenuButton, - AsideViewMenuSpacer, - RoleLacking, - ConsentLacking, - BaseAccordion, - BookmarkedSetPicker, - ButtonFrame, - CardLink, - CircleIcon, - CoreSetting, - CoreSettingsMenu, - CuratedMeasurementsSetIcon, - CuratedMeasurementsSetLineup, - CuratedSetPicker, - DesignOption, - DesignOptionsMenu, - DesignsView, - DraftMenu, - DraftView, - ErrorView, - SaveView, - Flag, - FlagsAccordionTitle, - FlagsAccordionEntries, - FlagTypeIcon, - FormControl, - HeaderMenu, - HeaderMenuAllViews, - HeaderMenuDraftView, - HeaderMenuDraftViewDesignOptions, - HeaderMenuDraftViewCoreSettings, - HeaderMenuDraftViewUiPreferences, - HeaderMenuDraftViewFlags, - HeaderMenuDraftViewIcons, - HeaderMenuButton, - HeaderMenuDropdown, - HeaderMenuIcon, - HeaderMenuIconSpacer, - HeaderMenuSaveIcons, - HeaderMenuUndoIcons, - HtmlSpan, - LargeScreenOnly, - Link, - ListInput, - Loading, - LoadingStatus, - Markdown, - MarkdownInput, - MeasurementInput, - MeasurementsSetCard, - MeasurementsView, - MeasurementsEditor, - MenuIcon, - NumberInput, - Null, - PageLink, - Pattern, - PatternLayout, - Popout, - StringInput, - SubAccordion, - Spinner, - SpinnerIcon, - Tab, - Tabs, - TemporaryLoader, - ToggleInput, - Tooltip, - UiPreferencesMenu, - UiPreference, - UndoStep, - UndoStepTimeAgo, - UndosView, - UserSetPicker, - Ux, - HeaderMenuViewMenu, - ViewPicker, - ViewTypeIcon, - WebLink, - ZoomablePattern, - ZoomContextProvider, - // icons - ApplyIcon, - BeakerIcon, - BookmarkIcon, - BoolNoIcon, - BoolYesIcon, - CloseIcon, - DesignIcon, - DetailIcon, - DocsIcon, - DownIcon, - EditIcon, - ExpandIcon, - ExportIcon, - FailureIcon, - FlagIcon, - FlagNoteIcon, - FlagInfoIcon, - FlagTipIcon, - FlagWarningIcon, - FlagErrorIcon, - FlagFixmeIcon, - FlagExpandIcon, - FlagOtionsIcon, - GaugeIcon, - GroupIcon, - HelpIcon, - IncludeIcon, - KioskIcon, - LeftIcon, - ListIcon, - LockIcon, - MarginIcon, - MeasurementsIcon, - MeasurementsSetIcon, - NoIcon, - OkIcon, - OptionsIcon, - PaperlessIcon, - PlusIcon, - PrintIcon, - ResetAllIcon, - ResetIcon, - RightIcon, - RocketIcon, - RotateIcon, - SaIcon, - SaveIcon, - SaveAsIcon, - ScaleIcon, - SettingsIcon, - SuccessIcon, - TipIcon, - TrashIcon, - UiIcon, - UndoIcon, - UnitsIcon, - UpIcon, - UploadIcon, - UxIcon, - XrayIcon, - ViewDraftIcon, - ViewMeasurementsIcon, - ViewTestIcon, - ViewTimingIcon, - ViewPrintLayoutIcon, - ViewSaveIcon, - ViewExportIcon, - ViewEditSettingsIcon, - ViewLogsIcon, - ViewInspectIcon, - ViewDocsIcon, - ViewDesignsIcon, - ViewViewPickerIcon, - ViewUndosIcon, - // menus - MenuItem, - MenuItemGroup, - MenuItemTitle, - MenuBoolInput, - MenuConstantInput, - MenuDegInput, - MenuEditOption, - MenuListInput, - MenuListToggle, - MenuMmInput, - //MenuNumberInput, - MenuUxSettingInput, - MenuOnlySettingInput, - MenuPctInput, - MenuSliderInput, - MenuBoolValue, - MenuConstantOptionValue, - MenuCountOptionValue, - MenuDegOptionValue, - MenuHighlightValue, - MenuListOptionValue, - MenuListValue, - MenuMmOptionValue, - MenuMmValue, - MenuOnlySettingValue, - MenuPctOptionValue, - MenuScaleSettingValue, - MenuShowValue, -} diff --git a/packages/react-components/src/editor/swizzle/components/inputs.mjs b/packages/react-components/src/editor/swizzle/components/inputs.mjs deleted file mode 100644 index 9fa1b579575..00000000000 --- a/packages/react-components/src/editor/swizzle/components/inputs.mjs +++ /dev/null @@ -1,349 +0,0 @@ -// Hooks -import { useState } from 'react' - -/* - * Helper component to wrap a form control with a label - */ -export const FormControl = ({ - label, // the (top-left) label - children, // Children to go inside the form control - docs = false, // Optional top-right label - labelBL = false, // Optional bottom-left label - labelBR = false, // Optional bottom-right label - forId = false, // ID of the for element we are wrapping - Swizzled, // Object holding swizzled code -}) => { - if (labelBR && !labelBL) labelBL = - - const topLabelChildren = ( - <> - {label} - {docs ? ( - - - - ) : null} - - ) - const bottomLabelChildren = ( - <> - {labelBL ? {labelBL} : null} - {labelBR ? {labelBR} : null} - - ) - - return ( -
    - {forId ? ( - - ) : ( -
    {topLabelChildren}
    - )} - {children} - {labelBL || labelBR ? ( - forId ? ( - - ) : ( -
    {bottomLabelChildren}
    - ) - ) : null} -
    - ) -} - -/* - * Helper method to wrap content in a button - */ -export const ButtonFrame = ({ - children, // Children of the button - onClick, // onClick handler - active, // Whether or not to render the button as active/selected - accordion = false, // Set this to true to not set a background color when active - dense = false, // Use less padding -}) => ( - -) - -/* - * Input for integers - */ -export const NumberInput = ({ - label, // Label to use - update, // onChange handler - valid, // Method that should return whether the value is valid or not - current, // The current value - original, // The original value - placeholder, // The placeholder text - docs = false, // Docs to load, if any - id = '', // An id to tie the input to the label - labelBL = false, // Bottom-Left label - labelBR = false, // Bottom-Right label - max = 0, - min = 220, - step = 1, - Swizzled, // Object holding swizzled code -}) => ( - - update(evt.target.value)} - className={`input w-full input-bordered ${ - current === original ? 'input-secondary' : valid(current) ? 'input-success' : 'input-error' - }`} - {...{ max, min, step }} - /> - -) - -/* - * Input for strings - */ -export const StringInput = ({ - label, // Label to use - update, // onChange handler - valid, // Method that should return whether the value is valid or not - current, // The current value - original, // The original value - placeholder, // The placeholder text - docs = false, // Docs to load, if any - id = '', // An id to tie the input to the label - labelBL = false, // Bottom-Left label - labelBR = false, // Bottom-Right label - Swizzled, // Object holding swizzled code -}) => ( - - update(evt.target.value)} - className={`input w-full input-bordered ${ - current === original ? 'input-secondary' : valid(current) ? 'input-success' : 'input-error' - }`} - /> - -) - -/* - * Input for a list of things to pick from - */ -export const ListInput = ({ - update, // the onChange handler - label, // The label - list, // The list of items to present { val, label, desc } - current, // The (value of the) current item - docs = false, // Docs to load, if any - Swizzled, // Object holding swizzled code -}) => ( - - {list.map((item, i) => ( - update(item.val)} - > -
    -
    {item.label}
    - {item.desc ? ( -
    - {item.desc} -
    - ) : null} -
    -
    - ))} -
    -) - -/* - * Input for markdown content - */ -export const MarkdownInput = ({ - label, // The label - current, // The current value (markdown) - update, // The onChange handler - placeholder, // The placeholder content - docs = false, // Docs to load, if any - id = '', // An id to tie the input to the label - labelBL = false, // Bottom-Left label - labelBR = false, // Bottom-Right label - Swizzled, // Swizzled code -}) => ( - - - -
    -