diff --git a/config/software/designs.json b/config/software/designs.json
index 983a0f5e899..a8dd47542ea 100644
--- a/config/software/designs.json
+++ b/config/software/designs.json
@@ -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"
+ ]
}
-}
+}
\ No newline at end of file
diff --git a/designs/lily/CHANGELOG.md b/designs/lily/CHANGELOG.md
new file mode 100644
index 00000000000..361ad6233e7
--- /dev/null
+++ b/designs/lily/CHANGELOG.md
@@ -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.
+
diff --git a/designs/lily/README.md b/designs/lily/README.md
new file mode 100644
index 00000000000..5cd5e76e51b
--- /dev/null
+++ b/designs/lily/README.md
@@ -0,0 +1,162 @@
+
+
+
+
+
+
+
+
+
+
+
+# @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:
+>
+> [](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/designs/lily/build.mjs b/designs/lily/build.mjs
new file mode 100644
index 00000000000..99ace216bc8
--- /dev/null
+++ b/designs/lily/build.mjs
@@ -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()
diff --git a/designs/lily/data.mjs b/designs/lily/data.mjs
new file mode 100644
index 00000000000..ff5d4a4d600
--- /dev/null
+++ b/designs/lily/data.mjs
@@ -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 }
diff --git a/designs/lily/i18n/de.json b/designs/lily/i18n/de.json
new file mode 100644
index 00000000000..185dfb452be
--- /dev/null
+++ b/designs/lily/i18n/de.json
@@ -0,0 +1,7 @@
+{
+ "t": "Lily",
+ "d": "A FreeSewing pattern that needs a description",
+ "p": { },
+ "s": { },
+ "o": { }
+}
diff --git a/designs/lily/i18n/en.json b/designs/lily/i18n/en.json
new file mode 100644
index 00000000000..185dfb452be
--- /dev/null
+++ b/designs/lily/i18n/en.json
@@ -0,0 +1,7 @@
+{
+ "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
new file mode 100644
index 00000000000..185dfb452be
--- /dev/null
+++ b/designs/lily/i18n/es.json
@@ -0,0 +1,7 @@
+{
+ "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
new file mode 100644
index 00000000000..185dfb452be
--- /dev/null
+++ b/designs/lily/i18n/fr.json
@@ -0,0 +1,7 @@
+{
+ "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
new file mode 100644
index 00000000000..36aac928b67
--- /dev/null
+++ b/designs/lily/i18n/index.mjs
@@ -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 }
diff --git a/designs/lily/i18n/nl.json b/designs/lily/i18n/nl.json
new file mode 100644
index 00000000000..185dfb452be
--- /dev/null
+++ b/designs/lily/i18n/nl.json
@@ -0,0 +1,7 @@
+{
+ "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
new file mode 100644
index 00000000000..185dfb452be
--- /dev/null
+++ b/designs/lily/i18n/uk.json
@@ -0,0 +1,7 @@
+{
+ "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
new file mode 100644
index 00000000000..52e3097d91c
--- /dev/null
+++ b/designs/lily/package.json
@@ -0,0 +1,72 @@
+{
+ "name": "@freesewing/lily",
+ "version": "3.2.0",
+ "description": "A FreeSewing pattern that needs a description",
+ "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": "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"
+ }
+}
diff --git a/designs/lily/src/box.mjs b/designs/lily/src/box.mjs
new file mode 100644
index 00000000000..42e3c4c7bf1
--- /dev/null
+++ b/designs/lily/src/box.mjs
@@ -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,
+}
diff --git a/designs/lily/src/index.mjs b/designs/lily/src/index.mjs
new file mode 100644
index 00000000000..e722882585a
--- /dev/null
+++ b/designs/lily/src/index.mjs
@@ -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 }
diff --git a/designs/lily/tests/shared.test.mjs b/designs/lily/tests/shared.test.mjs
new file mode 100644
index 00000000000..e587224479e
--- /dev/null
+++ b/designs/lily/tests/shared.test.mjs
@@ -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)
diff --git a/sites/backend/package.json b/sites/backend/package.json
index e20806be3fc..d581b1099fd 100644
--- a/sites/backend/package.json
+++ b/sites/backend/package.json
@@ -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"
diff --git a/sites/dev/package.json b/sites/dev/package.json
index 0a19b509e6f..2ea128c1abf 100644
--- a/sites/dev/package.json
+++ b/sites/dev/package.json
@@ -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"
diff --git a/sites/lab/hooks/use-design.mjs b/sites/lab/hooks/use-design.mjs
index 280d21acf42..c5b7f8bc066 100644
--- a/sites/lab/hooks/use-design.mjs
+++ b/sites/lab/hooks/use-design.mjs
@@ -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)
diff --git a/sites/lab/package.json b/sites/lab/package.json
index c2aa72d3d3c..ee01c2b2720 100644
--- a/sites/lab/package.json
+++ b/sites/lab/package.json
@@ -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"
diff --git a/sites/org/package.json b/sites/org/package.json
index cc2175aeca2..ddc8324384a 100644
--- a/sites/org/package.json
+++ b/sites/org/package.json
@@ -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"
diff --git a/sites/sde/package.json b/sites/sde/package.json
index faf80d2d0f9..057dcb2de15 100644
--- a/sites/sde/package.json
+++ b/sites/sde/package.json
@@ -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"
},
diff --git a/sites/shared/i18n/designs.mjs b/sites/shared/i18n/designs.mjs
index d8d7bb41782..53120fa144a 100644
--- a/sites/shared/i18n/designs.mjs
+++ b/sites/shared/i18n/designs.mjs
@@ -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,
}
diff --git a/sites/shared/package.json b/sites/shared/package.json
index 8149068723d..0556e641dc0 100644
--- a/sites/shared/package.json
+++ b/sites/shared/package.json
@@ -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",