1
0
Fork 0

create a lily design

This commit is contained in:
anna-puk 2024-03-02 20:25:08 +00:00
parent 02a0328cb1
commit c990c337cb
24 changed files with 502 additions and 50 deletions

View file

@ -554,14 +554,25 @@
"techniques": []
},
"naomiwu": {
"description": "A FreeSewing pattern for Naomi Wu's signature cargo skirt",
"code": "Joost De Cock",
"design": ["Naomi Wu", "Joost De Cock"],
"description": "A FreeSewing pattern for Naomi Wu's signature cargo skirt",
"design": [
"Naomi Wu",
"Joost De Cock"
],
"difficulty": 3,
"lab": false,
"org": false,
"tags": ["bottoms", "skirts"],
"techniques": ["button", "hem", "pocket", "lining"]
"tags": [
"bottoms",
"skirts"
],
"techniques": [
"button",
"hem",
"pocket",
"lining"
]
},
"noble": {
"code": "Wouter Van Wageningen",
@ -976,5 +987,19 @@
"hem",
"button"
]
},
"lily": {
"code": "Coder name",
"description": "A FreeSewing pattern that needs a description",
"design": "Designer name",
"difficulty": 1,
"lab": true,
"org": false,
"tags": [
"tagname"
],
"techniques": [
"techname"
]
}
}
}

17
designs/lily/CHANGELOG.md Normal file
View file

@ -0,0 +1,17 @@
# Change log for: @freesewing/lily
## 3.0.0 (2023-09-30)
### Changed
- All FreeSewing pacakges are now ESM only.
- All FreeSewing pacakges 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.

162
designs/lily/README.md Normal file
View file

@ -0,0 +1,162 @@
<p align='center'><a
href="https://www.npmjs.com/package/@freesewing/lily"
title="@freesewing/lily on NPM"
><img src="https://img.shields.io/npm/v/@freesewing/lily.svg"
alt="@freesewing/lily on NPM"/>
</a><a
href="https://opensource.org/licenses/MIT"
title="License: MIT"
><img src="https://img.shields.io/npm/l/@freesewing/lily.svg?label=License"
alt="License: MIT"/>
</a><a
href="https://deepscan.io/dashboard#view=project&tid=2114&pid=2993&bid=23256"
title="Code quality on DeepScan"
><img src="https://deepscan.io/api/teams/2114/projects/2993/branches/23256/badge/grade.svg"
alt="Code quality on DeepScan"/>
</a><a
href="https://github.com/freesewing/freesewing/issues?q=is%3Aissue+is%3Aopen+label%3Apkg%3Alily"
title="Open issues tagged pkg:lily"
><img src="https://img.shields.io/github/issues/freesewing/freesewing/pkg:lily.svg?label=Issues"
alt="Open issues tagged pkg:lily"/>
</a><a
href="#contributors-"
title="All Contributors"
><img src="https://img.shields.io/badge/all_contributors-124-pink.svg"
alt="All Contributors"/>
</a></p><p align='center'><a
href="https://twitter.com/freesewing_org"
title="Follow @freesewing_org on Twitter"
><img src="https://img.shields.io/badge/%F3%A0%80%A0-Follow%20us-blue.svg?logo=twitter&logoColor=white&logoWidth=15"
alt="Follow @freesewing_org on Twitter"/>
</a><a
href="https://chat.freesewing.org"
title="Chat with us on Discord"
><img src="https://img.shields.io/discord/698854858052075530?label=Chat%20on%20Discord"
alt="Chat with us on Discord"/>
</a><a
href="https://freesewing.org/patrons/join"
title="Become a FreeSewing Patron"
><img src="https://img.shields.io/badge/%F3%A0%80%A0-Support%20us-blueviolet.svg?logo=cash-app&logoColor=white&logoWidth=15"
alt="Become a FreeSewing Patron"/>
</a><a
href="https://instagram.com/freesewing_org"
title="Follow @freesewing_org on Twitter"
><img src="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"/>
</a></p>
# @freesewing/lily
A FreeSewing pattern that needs a description
# 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/lily
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/#<entire-url-of-your-fork` into a browser
> to start up a browser-based dev environment of your own.
## About FreeSewing 💀
Where the world of makers and developers collide, that's where you'll find FreeSewing.
If you're a maker, checkout [freesewing.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).

35
designs/lily/build.mjs Normal file
View file

@ -0,0 +1,35 @@
/* 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()

4
designs/lily/data.mjs Normal file
View file

@ -0,0 +1,4 @@
// This file is auto-generated | All changes you make will be overwritten.
export const name = '@freesewing/lily'
export const version = '3.2.0'
export const data = { name, version }

View file

@ -0,0 +1,7 @@
{
"t": "Lily",
"d": "A FreeSewing pattern that needs a description",
"p": { },
"s": { },
"o": { }
}

View file

@ -0,0 +1,7 @@
{
"t": "Lily",
"d": "A FreeSewing pattern that needs a description",
"p": { },
"s": { },
"o": { }
}

View file

@ -0,0 +1,7 @@
{
"t": "Lily",
"d": "A FreeSewing pattern that needs a description",
"p": { },
"s": { },
"o": { }
}

View file

@ -0,0 +1,7 @@
{
"t": "Lily",
"d": "A FreeSewing pattern that needs a description",
"p": { },
"s": { },
"o": { }
}

View file

@ -0,0 +1,8 @@
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' }
export const i18n = { en, de, es, fr, nl, uk }

View file

@ -0,0 +1,7 @@
{
"t": "Lily",
"d": "A FreeSewing pattern that needs a description",
"p": { },
"s": { },
"o": { }
}

View file

@ -0,0 +1,7 @@
{
"t": "Lily",
"d": "A FreeSewing pattern that needs a description",
"p": { },
"s": { },
"o": { }
}

72
designs/lily/package.json Normal file
View file

@ -0,0 +1,72 @@
{
"name": "@freesewing/lily",
"version": "3.2.0",
"description": "A FreeSewing pattern that needs a description",
"author": "Joost De Cock <joost@joost.at> (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": "dist/index.mjs",
"exports": {
".": {
"internal": "./src/index.mjs",
"default": "./dist/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"
},
"peerDependencies": {
"@freesewing/core": "3.2.0"
},
"dependencies": {},
"devDependencies": {
"mocha": "10.2.0",
"chai": "5.0.3",
"@freesewing/models": "3.2.0",
"@freesewing/plugin-timing": "3.2.0"
},
"files": [
"dist/*",
"README.md"
],
"publishConfig": {
"access": "public",
"tag": "latest"
},
"engines": {
"node": ">= 18.17.0 <22"
}
}

47
designs/lily/src/box.mjs Normal file
View file

@ -0,0 +1,47 @@
function draftBox({ options, Point, Path, points, paths, Snippet, snippets, sa, macro, part }) {
const w = 500 * options.size
points.topLeft = new Point(0, 0)
points.topRight = new Point(w, 0)
points.bottomLeft = new Point(0, w / 2)
points.bottomRight = new Point(w, w / 2)
paths.seam = new Path()
.move(points.topLeft)
.line(points.bottomLeft)
.line(points.bottomRight)
.line(points.topRight)
.line(points.topLeft)
.close()
.attr('class', 'fabric')
points.logo = points.topLeft.shiftFractionTowards(points.bottomRight, 0.5)
snippets.logo = new Snippet('logo', points.logo)
points.text = points.logo.shift(-90, w / 8).addText('hello', 'center')
if (sa) {
paths.sa = paths.seam.offset(sa).addClass('fabric sa')
}
macro('hd', {
id: 'hWidth',
from: points.bottomLeft,
to: points.bottomRight,
y: points.bottomLeft.y + sa + 15,
})
macro('vd', {
id: 'vHeight',
from: points.bottomRight,
to: points.topRight,
x: points.topRight.x + sa + 15,
})
return part
}
export const box = {
name: 'box',
options: {
size: { pct: 50, min: 10, max: 100, menu: 'fit' },
},
draft: draftBox,
}

View file

@ -0,0 +1,16 @@
//
import { Design } from '@freesewing/core'
import { i18n } from '../i18n/index.mjs'
import { data } from '../data.mjs'
// Parts
import { box } from './box.mjs'
// Create new design
const Lily = new Design({
data,
parts: [box],
})
// Named exports
export { box, i18n, Lily }

View file

@ -0,0 +1,20 @@
// This file is auto-generated | Any changes you make will be overwritten.
import { Lily, 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(Lily)
// Test translation
testPatternI18n(Lily, i18n)
// Test drafting - Change the second parameter to `true` to log errors
testPatternDrafting(Lily, false)
// Test sampling - Change the second parameter to `true` to log errors
testPatternSampling(Lily, false)

View file

@ -28,12 +28,12 @@
},
"peerDependencies": {},
"dependencies": {
"@aws-sdk/client-sesv2": "3.525.0",
"@prisma/client": "5.10.2",
"@aws-sdk/client-sesv2": "3.504.0",
"@prisma/client": "5.9.0",
"bcryptjs": "2.4.3",
"cors": "2.8.5",
"dotenv": "16.4.5",
"express": "4.18.3",
"dotenv": "16.4.1",
"express": "4.18.2",
"js-yaml": "4.1.0",
"lodash.get": "4.4.2",
"mustache": "4.2.0",
@ -41,19 +41,19 @@
"passport": "0.7.0",
"passport-http": "0.3.0",
"passport-jwt": "4.0.1",
"pino": "8.19.0",
"pino": "8.17.2",
"qrcode": "1.5.3",
"swagger-ui-dist": "5.11.8",
"swagger-ui-dist": "5.11.2",
"swagger-ui-express": "5.0.0"
},
"devDependencies": {
"chai": "5.1.0",
"chai": "5.0.3",
"chai-http": "4.4.0",
"esbuild": "0.20.1",
"mocha": "10.3.0",
"esbuild": "0.20.0",
"mocha": "10.2.0",
"mocha-steps": "1.3.0",
"nodemon": "3.1.0",
"prisma": "5.10.2"
"nodemon": "3.0.3",
"prisma": "5.9.0"
},
"engines": {
"node": ">= 18.17.0 <22"

View file

@ -35,7 +35,7 @@
"@next/bundle-analyzer": "14.1.0",
"@tailwindcss/typography": "0.5.10",
"algoliasearch": "4.22.1",
"daisyui": "4.7.2",
"daisyui": "4.6.1",
"lodash.get": "4.4.2",
"lodash.orderby": "4.6.0",
"lodash.set": "4.3.2",
@ -43,7 +43,7 @@
"react": "18.2.0",
"react-copy-to-clipboard": "5.1.0",
"react-dom": "18.2.0",
"react-hotkeys-hook": "4.5.0",
"react-hotkeys-hook": "4.4.4",
"react-instantsearch-dom": "6.40.4",
"react-instantsearch-hooks-web": "6.47.3",
"react-swipeable": "7.0.1",
@ -61,11 +61,11 @@
"devDependencies": {
"autoprefixer": "10.4.17",
"js-yaml": "4.1.0",
"postcss": "8.4.35",
"postcss": "8.4.33",
"remark-extract-frontmatter": "3.2.0",
"remark-mdx-frontmatter": "4.0.0",
"tailwindcss": "3.4.1",
"yaml-loader": "0.8.1"
"yaml-loader": "0.8.0"
},
"engines": {
"node": ">= 18.17.0 <22"

View file

@ -58,6 +58,7 @@ 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'
import { Lily as lily } from '@freesewing/lily'
const designs = {
aaron,
@ -116,6 +117,7 @@ const designs = {
walburga,
waralee,
yuri,
lily,
}
export const useDesign = (design) => (designs[design] ? designs[design] : false)

View file

@ -35,8 +35,8 @@
"d3-dispatch": "3.0.1",
"d3-drag": "3.0.0",
"d3-selection": "3.0.0",
"daisyui": "4.7.2",
"i18next": "23.10.0",
"daisyui": "4.6.1",
"i18next": "23.8.1",
"lodash.get": "4.4.2",
"lodash.orderby": "4.6.0",
"lodash.set": "4.3.2",
@ -45,8 +45,8 @@
"ora": "8.0.1",
"react": "18.2.0",
"react-copy-to-clipboard": "5.1.0",
"react-hotkeys-hook": "4.5.0",
"react-i18next": "14.0.5",
"react-hotkeys-hook": "4.4.4",
"react-i18next": "14.0.1",
"react-instantsearch-dom": "6.40.4",
"react-swipeable": "7.0.1",
"react-timeago": "7.2.0",
@ -62,11 +62,11 @@
"devDependencies": {
"autoprefixer": "10.4.17",
"js-yaml": "4.1.0",
"postcss": "8.4.35",
"postcss": "8.4.33",
"remark-extract-frontmatter": "3.2.0",
"remark-mdx-frontmatter": "4.0.0",
"tailwindcss": "3.4.1",
"yaml-loader": "0.8.1"
"yaml-loader": "0.8.0"
},
"engines": {
"node": ">= 18.17.0 <22"

View file

@ -28,7 +28,7 @@
},
"peerDependencies": {},
"dependencies": {
"@bugsnag/js": "7.22.4",
"@bugsnag/js": "7.22.3",
"@bugsnag/plugin-react": "7.19.0",
"@mdx-js/mdx": "^3.0.0",
"@mdx-js/react": "^3.0.0",
@ -37,11 +37,11 @@
"@tailwindcss/typography": "0.5.10",
"algoliasearch": "4.22.1",
"react-copy-to-clipboard": "5.1.0",
"daisyui": "4.7.2",
"echarts": "5.5.0",
"daisyui": "4.6.1",
"echarts": "5.4.3",
"echarts-for-react": "3.0.2",
"jotai": "2.7.0",
"jotai-location": "0.5.4",
"jotai": "2.6.4",
"jotai-location": "0.5.2",
"lodash.get": "4.4.2",
"lodash.orderby": "4.6.0",
"lodash.set": "4.3.2",
@ -49,7 +49,7 @@
"next": "14.1.0",
"ora": "8.0.1",
"react-dropzone": "14.2.3",
"react-hotkeys-hook": "4.5.0",
"react-hotkeys-hook": "4.4.4",
"react-instantsearch-dom": "6.40.4",
"react-swipeable": "7.0.1",
"react-timeago": "7.2.0",
@ -64,16 +64,16 @@
"remark-mdx-frontmatter": "4.0.0",
"strip-markdown": "6.0.0",
"use-local-storage-state": "19.1.0",
"yaml-loader": "0.8.1"
"yaml-loader": "0.8.0"
},
"devDependencies": {
"autoprefixer": "10.4.17",
"js-yaml": "4.1.0",
"postcss": "8.4.35",
"postcss": "8.4.33",
"remark-extract-frontmatter": "3.2.0",
"remark-mdx-frontmatter": "4.0.0",
"tailwindcss": "3.4.1",
"yaml-loader": "0.8.1"
"yaml-loader": "0.8.0"
},
"engines": {
"node": ">= 18.17.0 <22"

View file

@ -50,13 +50,13 @@
"d3-dispatch": "3.0.1",
"d3-drag": "3.0.0",
"d3-selection": "3.0.0",
"daisyui": "4.7.2",
"echarts": "5.5.0",
"daisyui": "4.6.1",
"echarts": "5.4.3",
"echarts-for-react": "3.0.2",
"file-saver": "2.0.5",
"i18next": "23.10.0",
"jotai": "2.7.0",
"jotai-location": "0.5.4",
"i18next": "23.8.1",
"jotai": "2.6.4",
"jotai-location": "0.5.2",
"js-yaml": "4.1.0",
"lodash.debounce": "^4.0.8",
"lodash.get": "4.4.2",
@ -70,12 +70,12 @@
"react": "18.2.0",
"react-dom": "18.2.0",
"react-copy-to-clipboard": "5.1.0",
"react-hotkeys-hook": "4.5.0",
"react-i18next": "14.0.5",
"react-hotkeys-hook": "4.4.4",
"react-i18next": "14.0.1",
"react-dropzone": "14.2.3",
"react-swipeable": "7.0.1",
"react-timeago": "7.2.0",
"react-zoom-pan-pinch": "3.4.3",
"react-zoom-pan-pinch": "3.4.1",
"remark-gfm": "4.0.0",
"remark-frontmatter": "5.0.0",
"remark-mdx-frontmatter": "4.0.0",
@ -83,7 +83,7 @@
"slugify": "^1.6.6",
"svg-to-pdfkit": "https://git@github.com/eriese/SVG-to-PDFKit",
"tailwindcss": "3.4.1",
"tlds": "1.250.0",
"tlds": "1.249.0",
"use-local-storage-state": "19.1.0",
"web-worker": "1.3.0"
},

View file

@ -61,6 +61,7 @@ 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 const designs = {
aaron,
@ -122,4 +123,5 @@ export const designs = {
walburga,
waralee,
yuri,
lily,
}

View file

@ -23,28 +23,28 @@
"d3-dispatch": "3.0.1",
"d3-drag": "3.0.0",
"d3-selection": "3.0.0",
"daisyui": "4.7.2",
"daisyui": "4.6.1",
"feed": "4.2.2",
"file-saver": "2.0.5",
"front-matter": "4.0.2",
"highlight.js": "11.9.0",
"github-slugger": "2.0.0",
"jotai": "2.7.0",
"jotai-location": "0.5.4",
"jotai": "2.6.4",
"jotai-location": "0.5.2",
"lodash.clonedeep": "4.5.0",
"lodash.debounce": "^4.0.8",
"lodash.orderby": "4.6.0",
"lodash.unset": "4.5.2",
"lodash.get": "4.4.2",
"mdast-util-toc": "7.0.0",
"mermaid": "10.8.0",
"mermaid": "10.7.0",
"ora": "8.0.1",
"pdfkit": "0.14.0",
"postcss-for": "2.1.1",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-timeago": "7.2.0",
"react-zoom-pan-pinch": "3.4.3",
"react-zoom-pan-pinch": "3.4.1",
"rehype-autolink-headings": "7.1.0",
"rehype-highlight": "7.0.0",
"remark-frontmatter": "5.0.0",
@ -52,7 +52,7 @@
"remark-smartypants": "2.1.0",
"slugify": "^1.6.6",
"svg-to-pdfkit": "https://git@github.com/eriese/SVG-to-PDFKit",
"tlds": "1.250.0",
"tlds": "1.249.0",
"to-vfile": "8.0.0",
"unist-util-visit": "5.0.0",
"use-local-storage-state": "19.1.0",