diff --git a/package.json b/package.json
index 5761c12ba..32df32b9e 100644
--- a/package.json
+++ b/package.json
@@ -3,17 +3,19 @@
"type": "module",
"scripts": {
"build": "nuxt build",
- "dev": "NODE_OPTIONS='--max-old-space-size=8192' nuxt dev",
+ "dev": "nuxt dev",
"generate": "nuxt generate",
"preview": "nuxt preview",
- "content:blog": "find /Users/ejfox/Library/Mobile\\ Documents/iCloud~md~obsidian/Documents/ejfox/ -type f -name '*.md' ! -path '*/drafts/*' -exec rsync -avz --relative {} ./content/blog/ \\; && echo 'Synced files:' && find /Users/ejfox/Library/Mobile\\ Documents/iCloud~md~obsidian/Documents/ejfox/ -type f -name '*.md' ! -path '*/drafts/*' -exec rsync -avz --relative {} ./content/blog/ --dry-run --list-only \\;",
+ "content:blog": "rsync -avz --delete --exclude='/drafts/' --include='*.md' --exclude='*' /Users/ejfox/Library/Mobile\\ Documents/iCloud~md~obsidian/Documents/ejfox/ ./content/blog/ && echo 'Synced files:' && rsync -avz --delete --exclude='/drafts/' --include='*.md' --exclude='*' /Users/ejfox/Library/Mobile\\ Documents/iCloud~md~obsidian/Documents/ejfox/ ./content/blog/ --dry-run --list-only",
+ "content:assets": "rsync -avz --delete --exclude='/drafts/' --include='*.{png,mp3,jpg,svg}' /Users/ejfox/Library/Mobile\\ Documents/iCloud~md~obsidian/Documents/ejfox/drafts/assets/ ./*/static/",
"content:reading": "rsync -avz --delete --exclude='/drafts/' --include='*.md' --exclude='*' /Users/ejfox/Library/Mobile\\ Documents/iCloud~md~obsidian/Documents/ejfox/reading/ ./content/reading/",
- "content:all": "yarn run content:blog && yarn run content:reading && git add \\*.md && git commit -m 'Update content' && git push"
+ "content:all": "yarn run content:blog && yarn run content:reading && git add \\*.md && git commit -m 'Update content' && git push",
+ "content:scrapbook": "node scripts/scrapbook/dl_arena.mjs && node scripts/scrapbook/dl_mastodon.mjs && node scripts/scrapbook/dl_pinboard.mjs"
},
"devDependencies": {
"@nuxt/devtools": "^1.3.9",
"@nuxt/image": "^1.7.0",
- "@types/node": "^22.2.0",
+ "@types/node": "^22.3.0",
"@unlok-co/nuxt-stripe": "^3.0.0",
"nuxt": "^3.12.4"
},
@@ -31,16 +33,19 @@
"animejs": "^3.2.2",
"are.na": "^0.1.5",
"bottleneck": "^2.19.5",
+ "canvas": "^2.11.2",
"cloudinary": "^2.4.0",
+ "colorthief": "^2.4.0",
"crypto-js": "^4.2.0",
"d3": "^7.9.0",
"d3-voronoi": "^1.1.4",
"date-fns": "^3.6.0",
"eslint-config-prettier": "^9.1.0",
"front-matter": "^4.0.2",
+ "gray-matter": "^4.0.3",
"inquirer": "^10.1.8",
"js-md5": "^0.8.3",
- "nuxt-gtag": "^2.1.0",
+ "p-limit": "^6.1.0",
"rehype-external-links": "^3.0.0",
"remark-emoji": "^5.0.1",
"remark-external-links": "^9.0.1",
diff --git a/public/images/share/!pinboard-tags.png b/public/images/share/!pinboard-tags.png
new file mode 100644
index 000000000..77bca1134
Binary files /dev/null and b/public/images/share/!pinboard-tags.png differ
diff --git a/public/images/share/2015-in-review.png b/public/images/share/2015-in-review.png
new file mode 100644
index 000000000..6f0b22161
Binary files /dev/null and b/public/images/share/2015-in-review.png differ
diff --git a/public/images/share/2016-in-review.png b/public/images/share/2016-in-review.png
new file mode 100644
index 000000000..d12553a2c
Binary files /dev/null and b/public/images/share/2016-in-review.png differ
diff --git a/public/images/share/2017-in-review.png b/public/images/share/2017-in-review.png
new file mode 100644
index 000000000..d7d13c18d
Binary files /dev/null and b/public/images/share/2017-in-review.png differ
diff --git a/public/images/share/2018-in-review.png b/public/images/share/2018-in-review.png
new file mode 100644
index 000000000..7b5e757bf
Binary files /dev/null and b/public/images/share/2018-in-review.png differ
diff --git a/public/images/share/2022-prototyping-toolkit.png b/public/images/share/2022-prototyping-toolkit.png
new file mode 100644
index 000000000..d8bf6a7b9
Binary files /dev/null and b/public/images/share/2022-prototyping-toolkit.png differ
diff --git a/public/images/share/2023-ny-to-maine.png b/public/images/share/2023-ny-to-maine.png
new file mode 100644
index 000000000..47a0a69eb
Binary files /dev/null and b/public/images/share/2023-ny-to-maine.png differ
diff --git a/public/images/share/2024.png b/public/images/share/2024.png
new file mode 100644
index 000000000..70ee3177e
Binary files /dev/null and b/public/images/share/2024.png differ
diff --git a/public/images/share/8pm-to-midnight-mixes.png b/public/images/share/8pm-to-midnight-mixes.png
new file mode 100644
index 000000000..ad67149e7
Binary files /dev/null and b/public/images/share/8pm-to-midnight-mixes.png differ
diff --git a/public/images/share/america.png b/public/images/share/america.png
new file mode 100644
index 000000000..a41fc9aa6
Binary files /dev/null and b/public/images/share/america.png differ
diff --git a/public/images/share/art-setup.png b/public/images/share/art-setup.png
new file mode 100644
index 000000000..e4ea397de
Binary files /dev/null and b/public/images/share/art-setup.png differ
diff --git a/public/images/share/camera-setup.png b/public/images/share/camera-setup.png
new file mode 100644
index 000000000..e1ef7e0f8
Binary files /dev/null and b/public/images/share/camera-setup.png differ
diff --git a/public/images/share/capitalism-letting-people-die.png b/public/images/share/capitalism-letting-people-die.png
new file mode 100644
index 000000000..21de33be9
Binary files /dev/null and b/public/images/share/capitalism-letting-people-die.png differ
diff --git a/public/images/share/climate-strike-nyc.png b/public/images/share/climate-strike-nyc.png
new file mode 100644
index 000000000..3598c9cf6
Binary files /dev/null and b/public/images/share/climate-strike-nyc.png differ
diff --git a/public/images/share/coach-artie-webhooks-cron-and-advanced-reflection.png b/public/images/share/coach-artie-webhooks-cron-and-advanced-reflection.png
new file mode 100644
index 000000000..624b140c4
Binary files /dev/null and b/public/images/share/coach-artie-webhooks-cron-and-advanced-reflection.png differ
diff --git a/public/images/share/coding-livestreams.png b/public/images/share/coding-livestreams.png
new file mode 100644
index 000000000..dccd5092e
Binary files /dev/null and b/public/images/share/coding-livestreams.png differ
diff --git a/public/images/share/computer-setup-2019.png b/public/images/share/computer-setup-2019.png
new file mode 100644
index 000000000..f8352b0ed
Binary files /dev/null and b/public/images/share/computer-setup-2019.png differ
diff --git a/public/images/share/computer-setup.png b/public/images/share/computer-setup.png
new file mode 100644
index 000000000..f57670947
Binary files /dev/null and b/public/images/share/computer-setup.png differ
diff --git a/public/images/share/creative-coding.png b/public/images/share/creative-coding.png
new file mode 100644
index 000000000..30d619572
Binary files /dev/null and b/public/images/share/creative-coding.png differ
diff --git a/public/images/share/crypto-ai-colonization.png b/public/images/share/crypto-ai-colonization.png
new file mode 100644
index 000000000..d3c19a4dc
Binary files /dev/null and b/public/images/share/crypto-ai-colonization.png differ
diff --git a/public/images/share/data-driven-llm-sentences.png b/public/images/share/data-driven-llm-sentences.png
new file mode 100644
index 000000000..f55152a9f
Binary files /dev/null and b/public/images/share/data-driven-llm-sentences.png differ
diff --git a/public/images/share/design-philosophy.png b/public/images/share/design-philosophy.png
new file mode 100644
index 000000000..92ce26cdc
Binary files /dev/null and b/public/images/share/design-philosophy.png differ
diff --git a/public/images/share/election-night-2018.png b/public/images/share/election-night-2018.png
new file mode 100644
index 000000000..497553cea
Binary files /dev/null and b/public/images/share/election-night-2018.png differ
diff --git a/public/images/share/electology-vision.png b/public/images/share/electology-vision.png
new file mode 100644
index 000000000..ef09f2000
Binary files /dev/null and b/public/images/share/electology-vision.png differ
diff --git a/public/images/share/everyone-should-code-data-literacy.png b/public/images/share/everyone-should-code-data-literacy.png
new file mode 100644
index 000000000..5003dc27f
Binary files /dev/null and b/public/images/share/everyone-should-code-data-literacy.png differ
diff --git a/public/images/share/experiments-with-live-looping-performance.png b/public/images/share/experiments-with-live-looping-performance.png
new file mode 100644
index 000000000..a79d52df1
Binary files /dev/null and b/public/images/share/experiments-with-live-looping-performance.png differ
diff --git a/public/images/share/film-development.png b/public/images/share/film-development.png
new file mode 100644
index 000000000..bf6e26d17
Binary files /dev/null and b/public/images/share/film-development.png differ
diff --git a/public/images/share/food.png b/public/images/share/food.png
new file mode 100644
index 000000000..d4c214b94
Binary files /dev/null and b/public/images/share/food.png differ
diff --git a/public/images/share/garment-dying-experiments.png b/public/images/share/garment-dying-experiments.png
new file mode 100644
index 000000000..48d543390
Binary files /dev/null and b/public/images/share/garment-dying-experiments.png differ
diff --git a/public/images/share/generative-music-iteration.png b/public/images/share/generative-music-iteration.png
new file mode 100644
index 000000000..29ff91354
Binary files /dev/null and b/public/images/share/generative-music-iteration.png differ
diff --git a/public/images/share/getting-started-with-embeddings.png b/public/images/share/getting-started-with-embeddings.png
new file mode 100644
index 000000000..03f0c536d
Binary files /dev/null and b/public/images/share/getting-started-with-embeddings.png differ
diff --git a/public/images/share/hacker-culture.png b/public/images/share/hacker-culture.png
new file mode 100644
index 000000000..9abfbef44
Binary files /dev/null and b/public/images/share/hacker-culture.png differ
diff --git a/public/images/share/hand-built-media-organization.png b/public/images/share/hand-built-media-organization.png
new file mode 100644
index 000000000..61edb3a17
Binary files /dev/null and b/public/images/share/hand-built-media-organization.png differ
diff --git a/public/images/share/hong-kong-protest-techniques.png b/public/images/share/hong-kong-protest-techniques.png
new file mode 100644
index 000000000..4ca60026c
Binary files /dev/null and b/public/images/share/hong-kong-protest-techniques.png differ
diff --git a/public/images/share/how-i-built-coach-artie.png b/public/images/share/how-i-built-coach-artie.png
new file mode 100644
index 000000000..73a1d2d03
Binary files /dev/null and b/public/images/share/how-i-built-coach-artie.png differ
diff --git a/public/images/share/how-i-prototype-apps-and-dataviz-quickly-in-2019.png b/public/images/share/how-i-prototype-apps-and-dataviz-quickly-in-2019.png
new file mode 100644
index 000000000..97f83246e
Binary files /dev/null and b/public/images/share/how-i-prototype-apps-and-dataviz-quickly-in-2019.png differ
diff --git a/public/images/share/how-i-use-gpt3.png b/public/images/share/how-i-use-gpt3.png
new file mode 100644
index 000000000..9cbc3b2a5
Binary files /dev/null and b/public/images/share/how-i-use-gpt3.png differ
diff --git a/public/images/share/how-to-give-credit.png b/public/images/share/how-to-give-credit.png
new file mode 100644
index 000000000..ae8ac9d3d
Binary files /dev/null and b/public/images/share/how-to-give-credit.png differ
diff --git a/public/images/share/how-to-run-a-project.png b/public/images/share/how-to-run-a-project.png
new file mode 100644
index 000000000..fbdfd62c3
Binary files /dev/null and b/public/images/share/how-to-run-a-project.png differ
diff --git a/public/images/share/introduction-to-eavs-data.png b/public/images/share/introduction-to-eavs-data.png
new file mode 100644
index 000000000..d242d17a1
Binary files /dev/null and b/public/images/share/introduction-to-eavs-data.png differ
diff --git a/public/images/share/joy-driven-development.png b/public/images/share/joy-driven-development.png
new file mode 100644
index 000000000..7434c89b9
Binary files /dev/null and b/public/images/share/joy-driven-development.png differ
diff --git a/public/images/share/lack-of-data.png b/public/images/share/lack-of-data.png
new file mode 100644
index 000000000..d8c3a8709
Binary files /dev/null and b/public/images/share/lack-of-data.png differ
diff --git a/public/images/share/linocut-printing-guide.png b/public/images/share/linocut-printing-guide.png
new file mode 100644
index 000000000..42de33293
Binary files /dev/null and b/public/images/share/linocut-printing-guide.png differ
diff --git a/public/images/share/livestreaming.png b/public/images/share/livestreaming.png
new file mode 100644
index 000000000..aacd4c652
Binary files /dev/null and b/public/images/share/livestreaming.png differ
diff --git a/public/images/share/morning-routine-daily-rituals.png b/public/images/share/morning-routine-daily-rituals.png
new file mode 100644
index 000000000..8c25a0004
Binary files /dev/null and b/public/images/share/morning-routine-daily-rituals.png differ
diff --git a/public/images/share/motorcycle-camping.png b/public/images/share/motorcycle-camping.png
new file mode 100644
index 000000000..375a7ec1b
Binary files /dev/null and b/public/images/share/motorcycle-camping.png differ
diff --git a/public/images/share/movies-to-watch.png b/public/images/share/movies-to-watch.png
new file mode 100644
index 000000000..605ab3fff
Binary files /dev/null and b/public/images/share/movies-to-watch.png differ
diff --git a/public/images/share/my-modern-scrapbook.png b/public/images/share/my-modern-scrapbook.png
new file mode 100644
index 000000000..0cc0b5206
Binary files /dev/null and b/public/images/share/my-modern-scrapbook.png differ
diff --git a/public/images/share/my-vscode-setup.png b/public/images/share/my-vscode-setup.png
new file mode 100644
index 000000000..8a176026e
Binary files /dev/null and b/public/images/share/my-vscode-setup.png differ
diff --git a/public/images/share/nypd-ccrb-complaint-clusters.png b/public/images/share/nypd-ccrb-complaint-clusters.png
new file mode 100644
index 000000000..370728e9a
Binary files /dev/null and b/public/images/share/nypd-ccrb-complaint-clusters.png differ
diff --git a/public/images/share/online-brigades-gaming-twitter.png b/public/images/share/online-brigades-gaming-twitter.png
new file mode 100644
index 000000000..8942b9792
Binary files /dev/null and b/public/images/share/online-brigades-gaming-twitter.png differ
diff --git a/public/images/share/photoblog-with-cloudinary-nuxt.png b/public/images/share/photoblog-with-cloudinary-nuxt.png
new file mode 100644
index 000000000..5d0656b97
Binary files /dev/null and b/public/images/share/photoblog-with-cloudinary-nuxt.png differ
diff --git a/public/images/share/photography-2008-2010.png b/public/images/share/photography-2008-2010.png
new file mode 100644
index 000000000..d533b3f57
Binary files /dev/null and b/public/images/share/photography-2008-2010.png differ
diff --git a/public/images/share/rules-for-joyful-travel.png b/public/images/share/rules-for-joyful-travel.png
new file mode 100644
index 000000000..16ca7a46e
Binary files /dev/null and b/public/images/share/rules-for-joyful-travel.png differ
diff --git a/public/images/share/selecting-a-cms.png b/public/images/share/selecting-a-cms.png
new file mode 100644
index 000000000..e6295e7f8
Binary files /dev/null and b/public/images/share/selecting-a-cms.png differ
diff --git a/public/images/share/soapmaking.png b/public/images/share/soapmaking.png
new file mode 100644
index 000000000..7d53a2b4c
Binary files /dev/null and b/public/images/share/soapmaking.png differ
diff --git a/public/images/share/spliff-and-espresso.png b/public/images/share/spliff-and-espresso.png
new file mode 100644
index 000000000..7816848a3
Binary files /dev/null and b/public/images/share/spliff-and-espresso.png differ
diff --git a/public/images/share/starting-a-studio-introducing-room-302.png b/public/images/share/starting-a-studio-introducing-room-302.png
new file mode 100644
index 000000000..0211112cc
Binary files /dev/null and b/public/images/share/starting-a-studio-introducing-room-302.png differ
diff --git a/public/images/share/step-zero.png b/public/images/share/step-zero.png
new file mode 100644
index 000000000..9dfa31666
Binary files /dev/null and b/public/images/share/step-zero.png differ
diff --git a/public/images/share/taking-things-for-granted.png b/public/images/share/taking-things-for-granted.png
new file mode 100644
index 000000000..796ae2064
Binary files /dev/null and b/public/images/share/taking-things-for-granted.png differ
diff --git a/public/images/share/the-art-of-coding.png b/public/images/share/the-art-of-coding.png
new file mode 100644
index 000000000..f59528d0f
Binary files /dev/null and b/public/images/share/the-art-of-coding.png differ
diff --git a/public/images/share/the-internet-was-built-to-be-hacked.png b/public/images/share/the-internet-was-built-to-be-hacked.png
new file mode 100644
index 000000000..3529d6238
Binary files /dev/null and b/public/images/share/the-internet-was-built-to-be-hacked.png differ
diff --git a/public/images/share/the-magazine-experience-on-the-web.png b/public/images/share/the-magazine-experience-on-the-web.png
new file mode 100644
index 000000000..173496294
Binary files /dev/null and b/public/images/share/the-magazine-experience-on-the-web.png differ
diff --git a/public/images/share/the-studio.png b/public/images/share/the-studio.png
new file mode 100644
index 000000000..3153ecc4c
Binary files /dev/null and b/public/images/share/the-studio.png differ
diff --git a/public/images/share/things-ive-learned-about-elections.png b/public/images/share/things-ive-learned-about-elections.png
new file mode 100644
index 000000000..fc05ad054
Binary files /dev/null and b/public/images/share/things-ive-learned-about-elections.png differ
diff --git a/public/images/share/two-reasons.png b/public/images/share/two-reasons.png
new file mode 100644
index 000000000..9339d32e2
Binary files /dev/null and b/public/images/share/two-reasons.png differ
diff --git a/public/images/share/unsecured-ice-cameras.png b/public/images/share/unsecured-ice-cameras.png
new file mode 100644
index 000000000..5de2762f0
Binary files /dev/null and b/public/images/share/unsecured-ice-cameras.png differ
diff --git a/public/images/share/video-mixes.png b/public/images/share/video-mixes.png
new file mode 100644
index 000000000..84efc3c8b
Binary files /dev/null and b/public/images/share/video-mixes.png differ
diff --git a/public/images/share/watercolor-sketching-in-nyc.png b/public/images/share/watercolor-sketching-in-nyc.png
new file mode 100644
index 000000000..cc3e89f08
Binary files /dev/null and b/public/images/share/watercolor-sketching-in-nyc.png differ
diff --git a/public/images/share/week-schedule-and-to-do-list.png b/public/images/share/week-schedule-and-to-do-list.png
new file mode 100644
index 000000000..9ec2a7148
Binary files /dev/null and b/public/images/share/week-schedule-and-to-do-list.png differ
diff --git a/public/images/share/why-i-love-obsidian.png b/public/images/share/why-i-love-obsidian.png
new file mode 100644
index 000000000..e3d54144f
Binary files /dev/null and b/public/images/share/why-i-love-obsidian.png differ
diff --git a/public/images/share/work-view-life-view.png b/public/images/share/work-view-life-view.png
new file mode 100644
index 000000000..003221c1f
Binary files /dev/null and b/public/images/share/work-view-life-view.png differ
diff --git a/scripts/create_share_images.mjs b/scripts/create_share_images.mjs
new file mode 100644
index 000000000..eb3880466
--- /dev/null
+++ b/scripts/create_share_images.mjs
@@ -0,0 +1,513 @@
+import { readFileSync, readdirSync, existsSync, mkdirSync } from 'fs'
+import path from 'path'
+import puppeteer from 'puppeteer-core'
+import matter from 'gray-matter'
+import pLimit from 'p-limit'
+import { createCanvas } from 'canvas'
+import * as d3 from 'd3'
+// import date-fns
+import { format } from 'date-fns'
+
+const limit = pLimit(2)
+const imageRegex = /!\[(?:.*?)\]\((.*?\.(?:png|jpg|jpeg|gif|webp|svg))\)/
+
+const __dirname = path.dirname(new URL(import.meta.url).pathname)
+const sourceDirectory = path.join(__dirname, '../content/blog/')
+const destinationDirectory = path.join(__dirname, '../public/images/share/')
+
+if (!existsSync(destinationDirectory)) {
+ mkdirSync(destinationDirectory, { recursive: true })
+ console.log('Destination directory created:', destinationDirectory)
+}
+
+const customCSS = `
+ body { margin: 0; padding: 0; font-family: 'Inter', sans-serif; }
+ .container { width: 1200px; height: 630px; display: flex; flex-direction: column; justify-content: space-between; padding: 92px; box-sizing: border-box; background-size: cover; background-position: center; color: white; position: relative; }
+ .overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.6); }
+ .content { position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column; justify-content: space-between; }
+ .header { display: flex; align-items: center; margin-bottom: 24px; }
+ .avatar { width: 36px; height: 36px; border-radius: 18px; margin-right: 12px; }
+ .author { font-size: 18px; font-weight: bold; }
+ .title { font-size: 52px; font-weight: bold; margin-bottom: 18px; word-wrap: break-word; overflow-wrap: break-word; }
+ .dek { font-size: 28px; margin-bottom: 16px; word-wrap: break-word; overflow-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
+ .footer { display: flex; justify-content: space-between; align-items: flex-start; }
+ .tags { display: flex; flex-wrap: wrap; max-width: 70%; }
+ .tag { background-color: rgba(59, 130, 246, 0.5); padding: 4px 8px; border-radius: 4px; margin-right: 8px; margin-bottom: 8px; }
+ .meta { display: flex; }
+ .meta-item { display: flex; align-items: center; margin-left: 16px; }
+ .icon { width: 20px; height: 20px; margin-right: 8px; }
+`
+
+function generateHTMLContent(
+ frontmatter,
+ title,
+ imageUrl,
+ readTime,
+ wordCount,
+ imageCount,
+ linkCount,
+ href,
+) {
+ const tags = Array.isArray(frontmatter.tags)
+ ? frontmatter.tags.slice(0, 5)
+ : []
+
+ let publishDate = frontmatter.date
+ ? new Date(frontmatter.date).toLocaleDateString('en-US', {
+ year: 'numeric',
+ month: 'long',
+ day: 'numeric',
+ })
+ : new Date(frontmatter.modified).toLocaleDateString('en-US', {
+ year: 'numeric',
+ month: 'long',
+ day: 'numeric',
+ })
+
+ // if publishDate is undefined, make it an empty string
+ publishDate = publishDate ? publishDate : ''
+ return `
+
+
+
+
+
+
+
+
+
+
+
${title}
+
${frontmatter.dek || ''}
+
+
+
+
+
+
+ `
+}
+
+function formatDate(date) {
+ if (!date) {
+ return ''
+ }
+ // use date-fns
+ format(date, 'MMMM dd, yyyy')
+}
+
+// use d3 to format numbers
+function formatNumber(number) {
+ const formatter = d3.format(',')
+ return formatter(number)
+}
+
+function countLinks(content) {
+ const linkRegex = /\[(?!!\[).*?\]\(.*?\)/g
+ const matches = content.match(linkRegex)
+ return matches ? matches.length : 0
+}
+
+// function generateBackgroundArt({
+// wordCount,
+// readTime,
+// imageCount,
+// linkCount,
+// text,
+// }) {
+// // set sane defaults for the arguments
+// wordCount = wordCount || 500
+// readTime = readTime || 2
+// imageCount = imageCount || 3
+// linkCount = linkCount || 2
+
+// const canvasWidth = 1200
+// const canvasHeight = 630
+// const padding = 24 // Padding from the edges
+// const canvas = createCanvas(canvasWidth, canvasHeight)
+// const ctx = canvas.getContext('2d')
+
+// // Background color
+// ctx.fillStyle = 'rgb(50, 50, 50)'
+// ctx.fillRect(0, 0, canvasWidth, canvasHeight)
+
+// // Process text to extract sentences, code blocks, images, and links
+// const sentences = text.split(/(?/g) || []
+// const regularLinks = text.match(/\[.*?\]\(.*?\)/g) || [] // Match regular links
+
+// // Combine all elements into a single array, keeping their original order
+// const combinedText = text
+// .replace(/```[\s\S]*?```/g, '###CODE###')
+// .replace(/!\[.*?\]\(.*?\)/g, '###IMAGE###')
+// .replace(/\[.*?\]\(.*?\)/g, '###LINK###')
+
+// // split the text into sentences
+// .split(/(? {
+// if (fragment.includes('###CODE###')) {
+// return { type: 'triangle', content: codeBlocks.shift() }
+// } else if (fragment.includes('###IMAGE###')) {
+// return { type: 'square', content: imageLinks.shift() }
+// } else if (fragment.includes('###LINK###')) {
+// return { type: 'stroked-circle', content: regularLinks.shift() }
+// } else {
+// return { type: 'circle', content: fragment }
+// }
+// })
+
+// // Grid calculation
+// const gridColumns = 32 // Number of elements per row (adjust as needed)
+// const gridRows = Math.ceil(elements.length / gridColumns)
+// const xSpacing = (canvasWidth - padding * 2) / gridColumns
+// const ySpacing = (canvasHeight - padding * 2) / gridRows
+
+// const minSize = 4
+// const maxSize = 32
+// const sizeScale = d3.scaleSqrt().domain([0, 500]).range([minSize, maxSize])
+
+// elements.forEach((element, i) => {
+// // Calculate grid position with padding
+// const x = padding + (i % gridColumns) * xSpacing + xSpacing / 2
+// const y = padding + Math.floor(i / gridColumns) * ySpacing + ySpacing / 2
+
+// // Determine size based on content length (adjust the multiplier as needed)
+
+// const contentLength = element.content.length
+// // const size = Math.min(maxSize, Math.max(minSize, contentLength * 0.5))
+// // we wanna use a d3 linear scale instead of a simple multiplication
+// // const size = sizeScale(contentLength)
+// // we need to make sure it does not exceed maxSize
+// const size = Math.min(sizeScale(contentLength), maxSize)
+
+// const sizeTriangle = 24
+// const sizeSquare = 24
+// // Draw shape based on type
+// ctx.fillStyle = 'rgba(250,250,250, 0.8)'
+// ctx.strokeStyle = 'rgba(250,250,250, 0.92)'
+
+// switch (element.type) {
+// case 'circle':
+// ctx.beginPath()
+// ctx.arc(x, y, size, 0, Math.PI * 2)
+// ctx.fill()
+// break
+// case 'triangle':
+// ctx.beginPath()
+// ctx.moveTo(x, y - sizeTriangle)
+// ctx.lineTo(x - sizeTriangle, y + sizeTriangle)
+// ctx.lineTo(x + sizeTriangle, y + sizeTriangle)
+// ctx.closePath()
+// ctx.fill()
+// break
+// case 'square':
+// // ctx.fillStyle = 'red' // Different color for images
+// ctx.beginPath()
+// ctx.rect(x - sizeSquare / 2, y - sizeSquare / 2, sizeSquare, sizeSquare)
+// ctx.fill()
+// break
+// case 'stroked-circle':
+// // ctx.strokeStyle = 'red' // Different color for links
+// ctx.beginPath()
+// ctx.arc(x, y, size, 0, Math.PI * 2)
+// ctx.stroke()
+// break
+// }
+// })
+
+// return canvas.toDataURL()
+// }
+
+function generateBackgroundArt({
+ wordCount,
+ readTime,
+ imageCount,
+ linkCount,
+ text,
+}) {
+ const canvasWidth = 1200
+ const canvasHeight = 630
+ const canvas = createCanvas(canvasWidth, canvasHeight)
+ const ctx = canvas.getContext('2d')
+
+ // Set background
+ ctx.fillStyle = 'rgb(30, 30, 30)'
+ ctx.fillRect(0, 0, canvasWidth, canvasHeight)
+
+ const elements = processText(text)
+ const totalLength = elements.reduce((sum, el) => sum + el.content.length, 0)
+ const baselineY = canvasHeight / 2
+ const maxAmplitude = canvasHeight //* 0.75
+
+ let x = 0
+ ctx.beginPath()
+ ctx.moveTo(0, baselineY)
+ ctx.strokeStyle = 'rgba(255, 255, 255, 0.7)'
+ ctx.lineWidth = 1.5
+
+ const drawSinWave = (startX, width, amplitude, frequency) => {
+ const points = 100
+ for (let i = 0; i <= points; i++) {
+ const x = startX + (i / points) * width
+ const y =
+ baselineY + Math.sin((i / points) * Math.PI * 2 * frequency) * amplitude
+ ctx.lineTo(x, y)
+ }
+ }
+
+ const drawTriWave = (startX, width, amplitude, frequency) => {
+ const points = 100
+ for (let i = 0; i <= points; i++) {
+ const x = startX + (i / points) * width
+ const y =
+ baselineY + Math.sin((i / points) * Math.PI * 2 * frequency) * amplitude
+ ctx.lineTo(x, y)
+ }
+ }
+
+ const drawCodeSquiggle = (startX, width, amplitude) => {
+ const points = 200
+ for (let i = 0; i <= points; i++) {
+ const x = startX + (i / points) * width
+ const y = baselineY + Math.sin((i / points) * Math.PI * 20) * amplitude
+ ctx.lineTo(x, y)
+ }
+ }
+
+ elements.forEach((element) => {
+ const elementWidth = (element.content.length / totalLength) * canvasWidth
+
+ switch (element.type) {
+ case 'header':
+ // drawSinWave(x, elementWidth, maxAmplitude * 0.4, 1)
+ // just draw a straight line for headers
+ ctx.lineTo(x + elementWidth, baselineY)
+ break
+ case 'paragraph':
+ drawSinWave(x, elementWidth, maxAmplitude * 0.15, 2)
+ break
+ case 'code':
+ drawCodeSquiggle(x, elementWidth, maxAmplitude * 0.1)
+ break
+ case 'image':
+ drawTriWave(x, elementWidth, maxAmplitude * 0.01, 0.5)
+ break
+ default:
+ // For images, links, and any other types, just continue the last wave
+ ctx.lineTo(x + elementWidth, ctx.lastPathY || baselineY)
+ break
+ }
+
+ x += elementWidth
+ })
+
+ ctx.stroke()
+
+ // Add start and end markers
+ ctx.fillStyle = 'white'
+ ctx.beginPath()
+ ctx.arc(0, baselineY, 5, 0, Math.PI * 2)
+ ctx.fill()
+ ctx.beginPath()
+ ctx.arc(canvasWidth, baselineY, 5, 0, Math.PI * 2)
+ ctx.fill()
+
+ return canvas.toDataURL()
+}
+
+function processText(text) {
+ const sentences = text.split(/(? {
+ if (sentence.startsWith('#')) {
+ elements.push({ type: 'header', content: sentence })
+ } else {
+ elements.push({ type: 'paragraph', content: sentence })
+ }
+ })
+
+ codeBlocks.forEach((block) => {
+ elements.push({ type: 'code', content: block })
+ })
+
+ imageLinks.forEach((link) => {
+ elements.push({ type: 'image', content: link })
+ })
+
+ regularLinks.forEach((link) => {
+ elements.push({ type: 'link', content: link })
+ })
+
+ return elements.sort(
+ (a, b) => text.indexOf(a.content) - text.indexOf(b.content),
+ )
+}
+
+async function generateShareImage(
+ frontmatter,
+ body,
+ destinationFilePath,
+ fileName,
+) {
+ const title = getTitle(body)
+ const wordCount = body.split(/\s+/).length
+ const readTime = calculateReadTime(body)
+ const imageCount = countImages(body)
+ const linkCount = countLinks(body)
+ const imageUrl =
+ extractFirstImageUrl(body) ||
+ generateBackgroundArt({
+ wordCount,
+ readTime,
+ imageCount,
+ linkCount,
+ text: body,
+ })
+
+ const nameSlug = fileName.replace('.md', '')
+
+ // the href is made from the filename slug
+ // we don't get it in the frontmatter slug
+ const href = `https://ejfox.com/blog/${nameSlug}`
+
+ const htmlContent = generateHTMLContent(
+ frontmatter,
+ title,
+ imageUrl,
+ readTime,
+ wordCount,
+ imageCount,
+ linkCount,
+ href,
+ )
+
+ const browser = await puppeteer.launch({
+ executablePath:
+ '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
+ headless: true,
+ })
+
+ try {
+ const page = await browser.newPage()
+ await page.setViewport({ width: 1200, height: 630 })
+
+ await page.setContent(htmlContent)
+ await page.evaluate((css) => {
+ const style = document.createElement('style')
+ style.textContent = css
+ document.head.appendChild(style)
+ }, customCSS)
+
+ await page.waitForSelector('.container')
+
+ await page.screenshot({ path: destinationFilePath, type: 'png' })
+ } finally {
+ await browser.close()
+ }
+}
+
+function getTitle(contentString) {
+ const titleRegex = /\n#+\s(.*)\n/
+ const match = contentString.match(titleRegex)
+ return match ? match[1] : 'Untitled'
+}
+
+function calculateReadTime(content) {
+ const wordsPerMinute = 200
+ const wordCount = content.split(/\s+/).length
+ return Math.ceil(wordCount / wordsPerMinute)
+}
+
+function countImages(content) {
+ const matches = content.match(imageRegex)
+ return matches ? matches.length : 0
+}
+
+function extractFirstImageUrl(content) {
+ const match = content.match(imageRegex)
+ return match ? match[1] : null
+}
+
+async function processFile(fileName) {
+ try {
+ const sourceFilePath = path.join(sourceDirectory, fileName)
+ const fileContents = readFileSync(sourceFilePath, 'utf8')
+ const { data: frontmatter, content } = matter(fileContents)
+
+ const destinationFilePath = path.join(
+ destinationDirectory,
+ fileName.replace('.md', '.png'),
+ )
+
+ await limit(() =>
+ generateShareImage(frontmatter, content, destinationFilePath, fileName),
+ )
+ console.log(`Successfully processed ${fileName}`)
+ } catch (error) {
+ console.error(`Error processing file ${fileName}:`, error)
+ }
+}
+
+async function processFiles() {
+ const files = readdirSync(sourceDirectory)
+ for (const file of files) {
+ if (file.endsWith('.md')) {
+ if (
+ !process.argv.includes('--file') ||
+ file === process.argv[process.argv.indexOf('--file') + 1]
+ ) {
+ await processFile(file)
+ }
+ }
+ }
+}
+
+// Main execution
+if (process.argv.includes('--file')) {
+ const fileName = process.argv[process.argv.indexOf('--file') + 1]
+ processFile(fileName)
+} else {
+ processFiles()
+}
diff --git a/yarn.lock b/yarn.lock
index 6ed72902d..39e878332 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -249,13 +249,20 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-class-properties@^7.8.3":
+"@babel/plugin-syntax-class-properties@^7.12.13":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
dependencies:
"@babel/helper-plugin-utils" "^7.12.13"
+"@babel/plugin-syntax-class-static-block@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406"
+ integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
"@babel/plugin-syntax-decorators@^7.24.7":
version "7.24.7"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz#e4f8a0a8778ccec669611cd5aed1ed8e6e3a6fcf"
@@ -263,14 +270,14 @@
dependencies:
"@babel/helper-plugin-utils" "^7.24.7"
-"@babel/plugin-syntax-import-attributes@^7.22.5":
+"@babel/plugin-syntax-import-attributes@^7.22.5", "@babel/plugin-syntax-import-attributes@^7.24.7":
version "7.24.7"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz#b4f9ea95a79e6912480c4b626739f86a076624ca"
integrity sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==
dependencies:
"@babel/helper-plugin-utils" "^7.24.7"
-"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3":
+"@babel/plugin-syntax-import-meta@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
@@ -291,7 +298,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.24.7"
-"@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
+"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
@@ -305,7 +312,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-numeric-separator@^7.8.3":
+"@babel/plugin-syntax-numeric-separator@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
@@ -333,7 +340,14 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-top-level-await@^7.8.3":
+"@babel/plugin-syntax-private-property-in-object@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad"
+ integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-top-level-await@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
@@ -824,9 +838,9 @@
"@iconify/types" "*"
"@iconify/collections@^1.0.443":
- version "1.0.448"
- resolved "https://registry.yarnpkg.com/@iconify/collections/-/collections-1.0.448.tgz#c200885be64c8ea5e302d4959266c0e02f1bc494"
- integrity sha512-JugNIZZRQVtPHkGcex1/xzI4rAbznaiwZsvGeu+YaFMOeDi2oxwTWD0OLL62EPgUvJ+H9PKg4i36ZqsYcma5bQ==
+ version "1.0.449"
+ resolved "https://registry.yarnpkg.com/@iconify/collections/-/collections-1.0.449.tgz#487adfcf71e125d7b48c2f4748a4046083b93044"
+ integrity sha512-qkAj2Qcsjqwh4H3vdgTQ+SGbbfvAxZXPDM8KG0gUtGFORAKuSES6UVoEuIPdT5rxtJaJw+Km/ucdJ+eCSmO8Xw==
dependencies:
"@iconify/types" "*"
@@ -1177,7 +1191,12 @@
resolved "https://registry.yarnpkg.com/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz#8ace5259254426ccef57f3175bc64ed7095ed919"
integrity sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==
-"@mapbox/node-pre-gyp@^1.0.5":
+"@lokesh.dhakar/quantize@^1.3.0":
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/@lokesh.dhakar/quantize/-/quantize-1.3.0.tgz#04476889953aca94614fbc79e9a43adc7979179a"
+ integrity sha512-4KBSyaMj65d8A+2vnzLxtHFu4OmBU4IKO0yLxZ171Itdf9jGV4w+WbG7VsKts2jUdRkFSzsZqpZOz6hTB3qGAw==
+
+"@mapbox/node-pre-gyp@^1.0.0", "@mapbox/node-pre-gyp@^1.0.5":
version "1.0.11"
resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz#417db42b7f5323d79e93b34a6d7a2a12c0df43fa"
integrity sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==
@@ -2028,17 +2047,17 @@
lodash.merge "^4.6.2"
postcss-selector-parser "6.0.10"
-"@tanstack/virtual-core@3.8.6":
- version "3.8.6"
- resolved "https://registry.yarnpkg.com/@tanstack/virtual-core/-/virtual-core-3.8.6.tgz#ccecf84099a9a0e9732b4f17bf021b82f215d15e"
- integrity sha512-UJeU4SBrx3hqULNzJ3oC0kgJ5miIAg+FwomxMTlQNxob6ppTInifANHd9ukETvzdzxr6zt3CjQ0rttQpVjbt6Q==
+"@tanstack/virtual-core@3.9.0":
+ version "3.9.0"
+ resolved "https://registry.yarnpkg.com/@tanstack/virtual-core/-/virtual-core-3.9.0.tgz#60db41fe8a19bb1a21873d86d8731416391e838a"
+ integrity sha512-Saga7/QRGej/IDCVP5BgJ1oDqlDT2d9rQyoflS3fgMS8ntJ8JGw/LBqK2GorHa06+VrNFc0tGz65XQHJQJetFQ==
"@tanstack/vue-virtual@^3.0.0-beta.60":
- version "3.8.6"
- resolved "https://registry.yarnpkg.com/@tanstack/vue-virtual/-/vue-virtual-3.8.6.tgz#c37a11ee8a03f04eaeaca7523eaa3963098e0728"
- integrity sha512-nWwmlFuxChPM6bWEwKOyBBYVrQmvSKSArXhbvX2IyVTpuif9UZiBEvIXnftpCEGRvAGSe7lE1coXHk8g2qmwtQ==
+ version "3.9.0"
+ resolved "https://registry.yarnpkg.com/@tanstack/vue-virtual/-/vue-virtual-3.9.0.tgz#23e141aae10218f430fcd15f0b3891ac31300930"
+ integrity sha512-MVJhQh57OR3wg2pWL/25IN1/nITFNnpFaz4gOvRCqnxhsH0WRePBBKvixOaFTgiyYfmrjFbb4d0nRMTvsjZZdQ==
dependencies:
- "@tanstack/virtual-core" "3.8.6"
+ "@tanstack/virtual-core" "3.9.0"
"@tootallnate/quickjs-emscripten@^0.23.0":
version "0.23.0"
@@ -3612,12 +3631,12 @@
"@types/node" "*"
form-data "^4.0.0"
-"@types/node@*", "@types/node@>=8.1.0", "@types/node@^22.1.0", "@types/node@^22.2.0":
- version "22.2.0"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-22.2.0.tgz#7cf046a99f0ba4d628ad3088cb21f790df9b0c5b"
- integrity sha512-bm6EG6/pCpkxDf/0gDNDdtDILMOHgaQBVOJGdwsqClnxA3xL6jtMv76rLBc006RVMWbmaf0xbmom4Z/5o2nRkQ==
+"@types/node@*", "@types/node@>=8.1.0", "@types/node@^22.1.0", "@types/node@^22.3.0":
+ version "22.3.0"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-22.3.0.tgz#7f8da0e2b72c27c4f9bd3cb5ef805209d04d4f9e"
+ integrity sha512-nrWpWVaDZuaVc5X84xJ0vNrLvomM205oQyLsRt7OHNZbSHslcWsvgFR7O7hire2ZonjLrWBbedmotmIlJDVd6g==
dependencies:
- undici-types "~6.13.0"
+ undici-types "~6.18.2"
"@types/node@^18.11.18":
version "18.19.44"
@@ -4084,6 +4103,16 @@ agentkeepalive@^4.2.1:
dependencies:
humanize-ms "^1.2.1"
+ajv@^6.12.3:
+ version "6.12.6"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+ 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"
+
animejs@^3.2.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/animejs/-/animejs-3.2.2.tgz#59be98c58834339d5847f4a70ddba74ac75b6afc"
@@ -4212,6 +4241,18 @@ argparse@^2.0.1:
resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+asn1@~0.2.3:
+ version "0.2.6"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d"
+ integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==
+ dependencies:
+ safer-buffer "~2.1.0"
+
+assert-plus@1.0.0, assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+ integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==
+
ast-kit@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ast-kit/-/ast-kit-1.0.1.tgz#647c64d997f3d85ccbeb221a4cd409549d7da5ca"
@@ -4227,7 +4268,7 @@ ast-types@^0.13.4:
dependencies:
tslib "^2.0.1"
-ast-walker-scope@^0.6.1:
+ast-walker-scope@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/ast-walker-scope/-/ast-walker-scope-0.6.2.tgz#b827e8949c129802f76fe0f142e95fd7efda57dc"
integrity sha512-1UWOyC50xI3QZkRuDj6PqDtpm1oHWtYs+NQGwqL/2R11eN3Q81PHAHPM0SWW3BNQm53UDwS//Jv8L4CCVLM1bQ==
@@ -4274,6 +4315,16 @@ autoprefixer@^10.4.19:
picocolors "^1.0.1"
postcss-value-parser "^4.2.0"
+aws-sign2@~0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
+ integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==
+
+aws4@^1.8.0:
+ version "1.13.1"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.13.1.tgz#bb5f8b8a20739f6ae1caeaf7eea2c7913df8048e"
+ integrity sha512-u5w79Rd7SU4JaIlA/zFqG+gOiuq25q5VLyZ8E+ijJeILuTxVzZgp2CaGw/UTw6pXYN9XMO9yiqj/nEHmhTG5CA==
+
axios@^0.18.1:
version "0.18.1"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3"
@@ -4299,22 +4350,25 @@ babel-plugin-istanbul@^6.1.1:
test-exclude "^6.0.0"
babel-preset-current-node-syntax@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b"
- integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30"
+ integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==
dependencies:
"@babel/plugin-syntax-async-generators" "^7.8.4"
"@babel/plugin-syntax-bigint" "^7.8.3"
- "@babel/plugin-syntax-class-properties" "^7.8.3"
- "@babel/plugin-syntax-import-meta" "^7.8.3"
+ "@babel/plugin-syntax-class-properties" "^7.12.13"
+ "@babel/plugin-syntax-class-static-block" "^7.14.5"
+ "@babel/plugin-syntax-import-attributes" "^7.24.7"
+ "@babel/plugin-syntax-import-meta" "^7.10.4"
"@babel/plugin-syntax-json-strings" "^7.8.3"
- "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
- "@babel/plugin-syntax-numeric-separator" "^7.8.3"
+ "@babel/plugin-syntax-numeric-separator" "^7.10.4"
"@babel/plugin-syntax-object-rest-spread" "^7.8.3"
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
- "@babel/plugin-syntax-top-level-await" "^7.8.3"
+ "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
+ "@babel/plugin-syntax-top-level-await" "^7.14.5"
bail@^2.0.0:
version "2.0.2"
@@ -4369,6 +4423,13 @@ basic-ftp@^5.0.2:
resolved "https://registry.yarnpkg.com/basic-ftp/-/basic-ftp-5.0.5.tgz#14a474f5fffecca1f4f406f1c26b18f800225ac0"
integrity sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==
+bcrypt-pbkdf@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
+ integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==
+ dependencies:
+ tweetnacl "^0.14.3"
+
binary-extensions@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522"
@@ -4569,6 +4630,20 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001646:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz#52de59529e8b02b1aedcaaf5c05d9e23c0c28138"
integrity sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==
+canvas@^2.11.2:
+ version "2.11.2"
+ resolved "https://registry.yarnpkg.com/canvas/-/canvas-2.11.2.tgz#553d87b1e0228c7ac0fc72887c3adbac4abbd860"
+ integrity sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==
+ dependencies:
+ "@mapbox/node-pre-gyp" "^1.0.0"
+ nan "^2.17.0"
+ simple-get "^3.0.3"
+
+caseless@~0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+ integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==
+
ccount@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5"
@@ -4808,7 +4883,15 @@ colord@^2.9.3:
resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43"
integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==
-combined-stream@^1.0.8:
+colorthief@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/colorthief/-/colorthief-2.4.0.tgz#74e6edd142695655bd5f52c7f8116b125ea2b2bd"
+ integrity sha512-0U48RGNRo5fVO+yusBwgp+d3augWSorXabnqXUu9SabEhCpCgZJEUjUTTI41OOBBYuMMxawa3177POT6qLfLeQ==
+ dependencies:
+ "@lokesh.dhakar/quantize" "^1.3.0"
+ get-pixels "^3.3.2"
+
+combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
@@ -4938,6 +5021,11 @@ copy-anything@^3.0.2:
dependencies:
is-what "^4.1.8"
+core-util-is@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+ integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==
+
core-util-is@~1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
@@ -5122,6 +5210,13 @@ csstype@^3.1.3:
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
+cwise-compiler@^1.1.2:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/cwise-compiler/-/cwise-compiler-1.1.3.tgz#f4d667410e850d3a313a7d2db7b1e505bb034cc5"
+ integrity sha512-WXlK/m+Di8DMMcCjcWr4i+XzcQra9eCdXIJrgh4TUgh0pIS/yJduLxS9JgefsHJ/YVLdgPtXm9r62W92MvanEQ==
+ dependencies:
+ uniq "^1.0.0"
+
cytoscape-cose-bilkent@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz#762fa121df9930ffeb51a495d87917c570ac209b"
@@ -5435,6 +5530,18 @@ dagre-d3-es@7.0.10:
d3 "^7.8.2"
lodash-es "^4.17.21"
+dashdash@^1.12.0:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==
+ dependencies:
+ assert-plus "^1.0.0"
+
+data-uri-to-buffer@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-0.0.3.tgz#18ae979a6a0ca994b0625853916d2662bbae0b1a"
+ integrity sha512-Cp+jOa8QJef5nXS5hU7M1DWzXPEIoVR3kbV0dQuVGwROZg8bGf1DcCnkmajBTnvghTtSNMUdRrPjgaT6ZQucbw==
+
data-uri-to-buffer@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz#8a58bb67384b261a38ef18bea1810cb01badd28b"
@@ -5497,6 +5604,13 @@ decode-named-character-reference@^1.0.0:
dependencies:
character-entities "^2.0.0"
+decompress-response@^4.2.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986"
+ integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==
+ dependencies:
+ mimic-response "^2.0.0"
+
decompress-response@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
@@ -5726,15 +5840,23 @@ eastasianwidth@^0.2.0:
resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
+ecc-jsbn@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
+ integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==
+ dependencies:
+ jsbn "~0.1.0"
+ safer-buffer "^2.1.0"
+
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
electron-to-chromium@^1.5.4:
- version "1.5.6"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.6.tgz#c81d9938b5a877314ad370feb73b4e5409b36abd"
- integrity sha512-jwXWsM5RPf6j9dPYzaorcBSUg6AiqocPEyMpkchkvntaH9HGfOOMZwxMJjDY/XEs3T5dM7uyH1VhRMkqUU9qVw==
+ version "1.5.7"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.7.tgz#425d2a7f76ecfa564fdca1040d11fb1979851f3c"
+ integrity sha512-6FTNWIWMxMy/ZY6799nBlPtF1DFDQ6VQJ7yyDP27SJNt5lwtQ5ufqVvHylb3fdQefvRcgA3fKcFMJi9OLwBRNw==
elkjs@^0.9.0:
version "0.9.3"
@@ -6080,7 +6202,14 @@ expect@^29.7.0:
jest-message-util "^29.7.0"
jest-util "^29.7.0"
-extend@^3.0.0:
+extend-shallow@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+ integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==
+ dependencies:
+ is-extendable "^0.1.0"
+
+extend@^3.0.0, extend@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
@@ -6115,7 +6244,17 @@ extract-zip@2.0.1:
optionalDependencies:
"@types/yauzl" "^2.9.1"
-fast-deep-equal@^3.1.3:
+extsprintf@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+ integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==
+
+extsprintf@^1.2.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07"
+ integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==
+
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
@@ -6136,7 +6275,7 @@ fast-glob@^3.2.7, fast-glob@^3.3.0, fast-glob@^3.3.2:
merge2 "^1.3.0"
micromatch "^4.0.4"
-fast-json-stable-stringify@^2.1.0:
+fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
@@ -6227,6 +6366,11 @@ foreground-child@^3.1.0:
cross-spawn "^7.0.0"
signal-exit "^4.0.1"
+forever-agent@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+ integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==
+
form-data-encoder@1.7.2:
version "1.7.2"
resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.2.tgz#1f1ae3dccf58ed4690b86d87e4f57c654fbab040"
@@ -6241,6 +6385,15 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+form-data@~2.3.2:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
+ integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.6"
+ mime-types "^2.1.12"
+
formdata-node@^4.3.2:
version "4.4.1"
resolved "https://registry.yarnpkg.com/formdata-node/-/formdata-node-4.4.1.tgz#23f6a5cb9cb55315912cbec4ff7b0f59bbd191e2"
@@ -6384,6 +6537,23 @@ get-package-type@^0.1.0:
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
+get-pixels@^3.3.2:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/get-pixels/-/get-pixels-3.3.3.tgz#71e2dfd4befb810b5478a61c6354800976ce01c7"
+ integrity sha512-5kyGBn90i9tSMUVHTqkgCHsoWoR+/lGbl4yC83Gefyr0HLIhgSWEx/2F/3YgsZ7UpYNuM6pDhDK7zebrUJ5nXg==
+ dependencies:
+ data-uri-to-buffer "0.0.3"
+ jpeg-js "^0.4.1"
+ mime-types "^2.0.1"
+ ndarray "^1.0.13"
+ ndarray-pack "^1.1.1"
+ node-bitmap "0.0.1"
+ omggif "^1.0.5"
+ parse-data-uri "^0.2.0"
+ pngjs "^3.3.3"
+ request "^2.44.0"
+ through "^2.3.4"
+
get-port-please@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/get-port-please/-/get-port-please-3.1.2.tgz#502795e56217128e4183025c89a48c71652f4e49"
@@ -6416,6 +6586,13 @@ get-uri@^6.0.1:
debug "^4.3.4"
fs-extra "^11.2.0"
+getpass@^0.1.1:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==
+ dependencies:
+ assert-plus "^1.0.0"
+
giget@^1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/giget/-/giget-1.2.3.tgz#ef6845d1140e89adad595f7f3bb60aa31c672cb6"
@@ -6555,6 +6732,16 @@ graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9:
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
+gray-matter@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798"
+ integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==
+ dependencies:
+ js-yaml "^3.13.1"
+ kind-of "^6.0.2"
+ section-matter "^1.0.0"
+ strip-bom-string "^1.0.0"
+
gzip-size@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-7.0.0.tgz#9f9644251f15bc78460fccef4055ae5a5562ac60"
@@ -6578,6 +6765,19 @@ h3@^1.10.0, h3@^1.10.2, h3@^1.11.1, h3@^1.12.0:
uncrypto "^0.1.3"
unenv "^1.9.0"
+har-schema@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
+ integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==
+
+har-validator@~5.1.3:
+ version "5.1.5"
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
+ integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
+ dependencies:
+ ajv "^6.12.3"
+ har-schema "^2.0.0"
+
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
@@ -6825,6 +7025,15 @@ http-shutdown@^1.2.2:
resolved "https://registry.yarnpkg.com/http-shutdown/-/http-shutdown-1.2.2.tgz#41bc78fc767637c4c95179bc492f312c0ae64c5f"
integrity sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==
+http-signature@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
+ integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==
+ dependencies:
+ assert-plus "^1.0.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
https-proxy-agent@^5.0.0:
version "5.0.1"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
@@ -6995,6 +7204,11 @@ ioredis@^5.4.1:
redis-parser "^3.0.0"
standard-as-callback "^2.1.0"
+iota-array@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/iota-array/-/iota-array-1.0.0.tgz#81ef57fe5d05814cd58c2483632a99c30a0e8087"
+ integrity sha512-pZ2xT+LOHckCatGQ3DcG/a+QuEqvoxqkiL7tvE8nn3uuu+f6i1TtpB5/FtWFbxUuVr5PZCx8KskuGatbJDXOWA==
+
ip-address@^9.0.5:
version "9.0.5"
resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a"
@@ -7078,6 +7292,11 @@ is-binary-path@~2.1.0:
dependencies:
binary-extensions "^2.0.0"
+is-buffer@^1.0.2:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+ integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
+
is-buffer@^2.0.0, is-buffer@^2.0.2:
version "2.0.5"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191"
@@ -7117,6 +7336,11 @@ is-docker@^3.0.0:
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200"
integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==
+is-extendable@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+ integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==
+
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
@@ -7215,6 +7439,11 @@ is-stream@^3.0.0:
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac"
integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==
+is-typedarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+ integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==
+
is-what@^4.1.8:
version "4.1.16"
resolved "https://registry.yarnpkg.com/is-what/-/is-what-4.1.16.tgz#1ad860a19da8b4895ad5495da3182ce2acdd7a6f"
@@ -7251,6 +7480,11 @@ isexe@^2.0.0:
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
+isstream@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+ integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==
+
istanbul-lib-coverage@^3.2.0:
version "3.2.2"
resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756"
@@ -7402,6 +7636,11 @@ jiti@^1.21.0, jiti@^1.21.6:
resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268"
integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==
+jpeg-js@^0.4.1:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.4.4.tgz#a9f1c6f1f9f0fa80cdb3484ed9635054d28936aa"
+ integrity sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==
+
js-md5@^0.8.3:
version "0.8.3"
resolved "https://registry.yarnpkg.com/js-md5/-/js-md5-0.8.3.tgz#921bab7efa95bfc9d62b87ee08a57f8fe4305b69"
@@ -7437,6 +7676,11 @@ jsbn@1.1.0:
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040"
integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==
+jsbn@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+ integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==
+
jsesc@^2.5.1:
version "2.5.2"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
@@ -7447,6 +7691,21 @@ json-parse-even-better-errors@^2.3.0:
resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-schema@0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5"
+ integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==
+
+json-stringify-safe@~5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+ integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==
+
json5@^2.2.3:
version "2.2.3"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
@@ -7461,6 +7720,16 @@ jsonfile@^6.0.1:
optionalDependencies:
graceful-fs "^4.1.6"
+jsprim@^1.2.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb"
+ integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==
+ dependencies:
+ assert-plus "1.0.0"
+ extsprintf "1.3.0"
+ json-schema "0.4.0"
+ verror "1.10.0"
+
jsts@2.7.1:
version "2.7.1"
resolved "https://registry.yarnpkg.com/jsts/-/jsts-2.7.1.tgz#a921c0cc9eefeef588bd53e952e0a7782d812d52"
@@ -7485,6 +7754,11 @@ khroma@^2.0.0:
resolved "https://registry.yarnpkg.com/khroma/-/khroma-2.1.0.tgz#45f2ce94ce231a437cf5b63c2e886e6eb42bbbb1"
integrity sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==
+kind-of@^6.0.0, kind-of@^6.0.2:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
+ integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+
kleur@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
@@ -8534,7 +8808,7 @@ mime-types@2.1.13:
dependencies:
mime-db "~1.25.0"
-mime-types@^2.1.12, mime-types@^2.1.18, mime-types@~2.1.24, mime-types@~2.1.34:
+mime-types@^2.0.1, mime-types@^2.1.12, mime-types@^2.1.18, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34:
version "2.1.35"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
@@ -8566,6 +8840,11 @@ mimic-fn@^4.0.0:
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc"
integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==
+mimic-response@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43"
+ integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==
+
mimic-response@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
@@ -8723,6 +9002,11 @@ mz@^2.7.0:
object-assign "^4.0.1"
thenify-all "^1.0.0"
+nan@^2.17.0:
+ version "2.20.0"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.20.0.tgz#08c5ea813dd54ed16e5bd6505bf42af4f7838ca3"
+ integrity sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==
+
nanoid@^3.3.4, nanoid@^3.3.7:
version "3.3.7"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
@@ -8748,6 +9032,22 @@ natural-compare@^1.4.0:
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
+ndarray-pack@^1.1.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/ndarray-pack/-/ndarray-pack-1.2.1.tgz#8caebeaaa24d5ecf70ff86020637977da8ee585a"
+ integrity sha512-51cECUJMT0rUZNQa09EoKsnFeDL4x2dHRT0VR5U2H5ZgEcm95ZDWcMA5JShroXjHOejmAD/fg8+H+OvUnVXz2g==
+ dependencies:
+ cwise-compiler "^1.1.2"
+ ndarray "^1.0.13"
+
+ndarray@^1.0.13:
+ version "1.0.19"
+ resolved "https://registry.yarnpkg.com/ndarray/-/ndarray-1.0.19.tgz#6785b5f5dfa58b83e31ae5b2a058cfd1ab3f694e"
+ integrity sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==
+ dependencies:
+ iota-array "^1.0.0"
+ is-buffer "^1.0.2"
+
negotiator@0.6.3:
version "0.6.3"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
@@ -8847,6 +9147,11 @@ node-addon-api@^7.0.0:
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558"
integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==
+node-bitmap@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/node-bitmap/-/node-bitmap-0.0.1.tgz#180eac7003e0c707618ef31368f62f84b2a69091"
+ integrity sha512-Jx5lPaaLdIaOsj2mVLWMWulXF6GQVdyLvNSxmiYCvZ8Ma2hfKX0POoR2kgKOqz+oFsRreq0yYZjQ2wjE9VNzCA==
+
node-domexception@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
@@ -8954,16 +9259,6 @@ nuxi@^3.12.0:
optionalDependencies:
fsevents "~2.3.3"
-nuxt-gtag@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/nuxt-gtag/-/nuxt-gtag-2.1.0.tgz#c300f1780b090c41b5543fde0c5a64ae99404469"
- integrity sha512-06ES+hgMs5l98bHmsLyltbJXfVr1LAkm/5gwcncdNkz96+D0fVA+RhecIp06iDQXF+YPBE2xAgB4G5PnUn8drA==
- dependencies:
- "@nuxt/kit" "^3.12.3"
- defu "^6.1.4"
- pathe "^1.1.2"
- ufo "^1.5.3"
-
nuxt@^3.12.4:
version "3.12.4"
resolved "https://registry.yarnpkg.com/nuxt/-/nuxt-3.12.4.tgz#d1c2aa26aa90aefb8ac08bd9a5648851e4db91af"
@@ -9041,6 +9336,11 @@ nypm@^0.3.8, nypm@^0.3.9:
pkg-types "^1.1.1"
ufo "^1.5.3"
+oauth-sign@~0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
+ integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
+
object-assign@^4.0.1, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
@@ -9070,6 +9370,11 @@ ohash@^1.1.3:
resolved "https://registry.yarnpkg.com/ohash/-/ohash-1.1.3.tgz#f12c3c50bfe7271ce3fd1097d42568122ccdcf07"
integrity sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==
+omggif@^1.0.5:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/omggif/-/omggif-1.0.10.tgz#ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19"
+ integrity sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==
+
on-finished@2.4.1, on-finished@^2.3.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
@@ -9131,9 +9436,9 @@ open@^8.4.0:
is-wsl "^2.2.0"
openai@^4.28.0:
- version "4.55.5"
- resolved "https://registry.yarnpkg.com/openai/-/openai-4.55.5.tgz#dccd7fd42ee76a4135498494d5161dc9f9a44aa4"
- integrity sha512-9OkMAMljFv1LxUFf5HLm/pw7zFd4yMgW+lKOYF80RBwuGWU+ZKF5BQGll+TEGAHu23YMeT8t6VSxI27c/DRAOA==
+ version "4.55.7"
+ resolved "https://registry.yarnpkg.com/openai/-/openai-4.55.7.tgz#2bba4ae9224ad205c0d087d1412fe95421397dff"
+ integrity sha512-I2dpHTINt0Zk+Wlns6KzkKu77MmNW3VfIIQf5qYziEUI6t7WciG1zTobfKqdPzBmZi3TTM+3DtjPumxQdcvzwA==
dependencies:
"@types/node" "^18.11.18"
"@types/node-fetch" "^2.6.4"
@@ -9174,6 +9479,13 @@ p-limit@^3.0.2:
dependencies:
yocto-queue "^0.1.0"
+p-limit@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-6.1.0.tgz#d91f9364d3fdff89b0a45c70d04ad4e0df30a0e8"
+ integrity sha512-H0jc0q1vOzlEk0TqAKXKZxdl7kX3OFUzCnNVUnq5Pc3DGo0kpeaMuPqxQn235HibwBEb0/pm9dgKTjXy66fBkg==
+ dependencies:
+ yocto-queue "^1.1.1"
+
p-locate@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
@@ -9227,6 +9539,13 @@ parent-module@^1.0.0:
dependencies:
callsites "^3.0.0"
+parse-data-uri@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/parse-data-uri/-/parse-data-uri-0.2.0.tgz#bf04d851dd5c87b0ab238e5d01ace494b604b4c9"
+ integrity sha512-uOtts8NqDcaCt1rIsO3VFDRsAfgE4c6osG4d9z3l4dCBlxYFzni6Di/oNU270SDrjkfZuUvLZx1rxMyqh46Y9w==
+ dependencies:
+ data-uri-to-buffer "0.0.3"
+
parse-entities@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8"
@@ -9360,6 +9679,11 @@ perfect-debounce@^1.0.0:
resolved "https://registry.yarnpkg.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz#9c2e8bc30b169cc984a58b7d5b28049839591d2a"
integrity sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==
+performance-now@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+ integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==
+
picocolors@^1.0.0, picocolors@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1"
@@ -9394,6 +9718,11 @@ playwright-core@^1.0.0:
resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.46.0.tgz#2336ac453a943abf0dc95a76c117f9d3ebd390eb"
integrity sha512-9Y/d5UIwuJk8t3+lhmMSAJyNP1BUC/DqP3cQJDQQL/oWqAiuPTLgy7Q5dzglmTLwcBRdetzgNM/gni7ckfTr6A==
+pngjs@^3.3.3:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
+ integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==
+
point-in-polygon-hao@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/point-in-polygon-hao/-/point-in-polygon-hao-1.1.0.tgz#37f5f4fbe14e89fa8a3bb7f67c9158079d2ede7c"
@@ -9784,6 +10113,11 @@ proxy-from-env@^1.1.0:
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+psl@^1.1.28:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
+ integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
+
pump@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
@@ -9792,6 +10126,11 @@ pump@^3.0.0:
end-of-stream "^1.1.0"
once "^1.3.1"
+punycode@^2.1.0, punycode@^2.1.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
+ integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
+
puppeteer-core@20.9.0:
version "20.9.0"
resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-20.9.0.tgz#6f4b420001b64419deab38d398a4d9cd071040e6"
@@ -9825,6 +10164,11 @@ qs@^6.11.0, qs@^6.5.1:
dependencies:
side-channel "^1.0.6"
+qs@~6.5.2:
+ version "6.5.3"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad"
+ integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==
+
queue-microtask@^1.2.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
@@ -10169,6 +10513,32 @@ replace-in-file@^6.1.0:
glob "^7.2.0"
yargs "^17.2.1"
+request@^2.44.0:
+ version "2.88.2"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
+ integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
+ dependencies:
+ aws-sign2 "~0.7.0"
+ aws4 "^1.8.0"
+ caseless "~0.12.0"
+ combined-stream "~1.0.6"
+ extend "~3.0.2"
+ forever-agent "~0.6.1"
+ form-data "~2.3.2"
+ har-validator "~5.1.3"
+ http-signature "~1.2.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.19"
+ oauth-sign "~0.9.0"
+ performance-now "^2.1.0"
+ qs "~6.5.2"
+ safe-buffer "^5.1.2"
+ tough-cookie "~2.5.0"
+ tunnel-agent "^0.6.0"
+ uuid "^3.3.2"
+
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
@@ -10327,7 +10697,7 @@ sade@^1.7.3:
dependencies:
mri "^1.1.0"
-safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0:
+safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
@@ -10337,7 +10707,7 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1:
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0":
+"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
@@ -10347,6 +10717,14 @@ scule@^1.2.0, scule@^1.3.0:
resolved "https://registry.yarnpkg.com/scule/-/scule-1.3.0.tgz#6efbd22fd0bb801bdcc585c89266a7d2daa8fbd3"
integrity sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==
+section-matter@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167"
+ integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==
+ dependencies:
+ extend-shallow "^2.0.1"
+ kind-of "^6.0.0"
+
semver@^6.0.0, semver@^6.3.0, semver@^6.3.1:
version "6.3.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
@@ -10491,6 +10869,15 @@ simple-concat@^1.0.0:
resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
+simple-get@^3.0.3:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.1.tgz#cc7ba77cfbe761036fbfce3d021af25fc5584d55"
+ integrity sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==
+ dependencies:
+ decompress-response "^4.2.0"
+ once "^1.3.1"
+ simple-concat "^1.0.0"
+
simple-get@^4.0.0, simple-get@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543"
@@ -10655,6 +11042,21 @@ sprintf-js@~1.0.2:
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
+sshpk@^1.7.0:
+ version "1.18.0"
+ resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028"
+ integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==
+ dependencies:
+ asn1 "~0.2.3"
+ assert-plus "^1.0.0"
+ bcrypt-pbkdf "^1.0.0"
+ dashdash "^1.12.0"
+ ecc-jsbn "~0.1.1"
+ getpass "^0.1.1"
+ jsbn "~0.1.0"
+ safer-buffer "^2.0.2"
+ tweetnacl "~0.14.0"
+
stack-utils@^2.0.3:
version "2.0.6"
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f"
@@ -10693,16 +11095,7 @@ streamx@^2.15.0, streamx@^2.18.0:
optionalDependencies:
bare-events "^2.2.0"
-"string-width-cjs@npm:string-width@^4.2.0":
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
- integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
- dependencies:
- emoji-regex "^8.0.0"
- is-fullwidth-code-point "^3.0.0"
- strip-ansi "^6.0.1"
-
-"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -10742,14 +11135,7 @@ stringify-entities@^4.0.3:
character-entities-html4 "^2.0.0"
character-entities-legacy "^3.0.0"
-"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
- integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
- dependencies:
- ansi-regex "^5.0.1"
-
-strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -10763,6 +11149,11 @@ strip-ansi@^7.0.1:
dependencies:
ansi-regex "^6.0.1"
+strip-bom-string@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
+ integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==
+
strip-final-newline@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
@@ -10915,9 +11306,9 @@ tailwind-merge@^2.4.0:
integrity sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg==
tailwindcss@^3.4.7, tailwindcss@~3.4.4:
- version "3.4.9"
- resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.9.tgz#9e04cddce1924d530df62af37d3520f0e2a9d85e"
- integrity sha512-1SEOvRr6sSdV5IDf9iC+NU4dhwdqzF4zKKq3sAbasUWHEM6lsMhX+eNN5gkPx1BvLFEnZQEUFbXnGj8Qlp83Pg==
+ version "3.4.10"
+ resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.10.tgz#70442d9aeb78758d1f911af29af8255ecdb8ffef"
+ integrity sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==
dependencies:
"@alloc/quick-lru" "^5.2.0"
arg "^5.0.2"
@@ -11010,9 +11401,9 @@ tar@^6.1.11, tar@^6.2.0:
yallist "^4.0.0"
terser@^5.17.4:
- version "5.31.5"
- resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.5.tgz#e48b7c65f32d2808e7dad803e4586a0bc3829b87"
- integrity sha512-YPmas0L0rE1UyLL/llTWA0SiDOqIcAQYLeUj7cJYzXHlRTAnMSg9pPe4VJ5PlKvTrPQsdVFuiRiwyeNlYgwh2Q==
+ version "5.31.6"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.6.tgz#c63858a0f0703988d0266a82fcbf2d7ba76422b1"
+ integrity sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==
dependencies:
"@jridgewell/source-map" "^0.3.3"
acorn "^8.8.2"
@@ -11049,7 +11440,7 @@ thenify-all@^1.0.0:
dependencies:
any-promise "^1.0.0"
-through@^2.3.6, through@^2.3.8:
+through@^2.3.4, through@^2.3.6, through@^2.3.8:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
@@ -11117,6 +11508,14 @@ totalist@^3.0.0:
resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8"
integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==
+tough-cookie@~2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
+ integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+ dependencies:
+ psl "^1.1.28"
+ punycode "^2.1.1"
+
tr46@~0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
@@ -11169,6 +11568,11 @@ tunnel-agent@^0.6.0:
dependencies:
safe-buffer "^5.0.1"
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+ integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==
+
type-detect@4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
@@ -11230,10 +11634,10 @@ undici-types@~5.26.4:
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
-undici-types@~6.13.0:
- version "6.13.0"
- resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.13.0.tgz#e3e79220ab8c81ed1496b5812471afd7cf075ea5"
- integrity sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==
+undici-types@~6.18.2:
+ version "6.18.2"
+ resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.18.2.tgz#8b678cf939d4fc9ec56be3c68ed69c619dee28b0"
+ integrity sha512-5ruQbENj95yDYJNS3TvcaxPMshV7aizdv/hWYjGIKoANWKjhWNBsr2YEuYZKodQulB1b8l7ILOuDQep3afowQQ==
undici@^5.28.4:
version "5.28.4"
@@ -11330,6 +11734,11 @@ unimport@^3.7.2, unimport@^3.9.0:
strip-literal "^2.1.0"
unplugin "^1.12.0"
+uniq@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
+ integrity sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==
+
unist-builder@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-4.0.0.tgz#817b326c015a6f9f5e92bb55b8e8bc5e578fe243"
@@ -11437,18 +11846,19 @@ universalify@^2.0.0:
integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
unplugin-vue-router@^0.10.0:
- version "0.10.3"
- resolved "https://registry.yarnpkg.com/unplugin-vue-router/-/unplugin-vue-router-0.10.3.tgz#ddc324f6ec2c9cf24f9b253163c42e077d333b67"
- integrity sha512-qyR3etefMT2U6gBz8li6vFhIdGMib1wCZ7iqwYNEk22qBvx7i/LmFTrNsDpNpPpwXlfM6xOITd6yfVo9pPQklw==
+ version "0.10.4"
+ resolved "https://registry.yarnpkg.com/unplugin-vue-router/-/unplugin-vue-router-0.10.4.tgz#4bc00d0dfe92fefff46e4edbf238b47f16de9899"
+ integrity sha512-PXnUnX/MPCI/YaxmfYxE1JVc/5n7QGLGWJtIB8aI1hsQA/A14T+39d+wHxDnWzFJd5VXsGusV3G/RREdocbYGQ==
dependencies:
"@babel/types" "^7.25.2"
"@rollup/pluginutils" "^5.1.0"
"@vue-macros/common" "^1.12.2"
- ast-walker-scope "^0.6.1"
+ ast-walker-scope "^0.6.2"
chokidar "^3.6.0"
fast-glob "^3.3.2"
json5 "^2.2.3"
local-pkg "^0.5.0"
+ magic-string "^0.30.11"
mlly "^1.7.1"
pathe "^1.1.2"
scule "^1.3.0"
@@ -11528,6 +11938,13 @@ uqr@^0.1.2:
resolved "https://registry.yarnpkg.com/uqr/-/uqr-0.1.2.tgz#5c6cd5dcff9581f9bb35b982cb89e2c483a41d7d"
integrity sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==
+uri-js@^4.2.2:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+ integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+ dependencies:
+ punycode "^2.1.0"
+
urlpattern-polyfill@8.0.2:
version "8.0.2"
resolved "https://registry.yarnpkg.com/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz#99f096e35eff8bf4b5a2aa7d58a1523d6ebc7ce5"
@@ -11543,6 +11960,11 @@ uuid@^10.0.0:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-10.0.0.tgz#5a95aa454e6e002725c79055fd42aaba30ca6294"
integrity sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==
+uuid@^3.3.2:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
+ integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
+
uuid@^9.0.0:
version "9.0.1"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30"
@@ -11563,6 +11985,15 @@ vary@^1.1.2:
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
+verror@1.10.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==
+ dependencies:
+ assert-plus "^1.0.0"
+ core-util-is "1.0.2"
+ extsprintf "^1.2.0"
+
vfile-location@^5.0.0:
version "5.0.3"
resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-5.0.3.tgz#cb9eacd20f2b6426d19451e0eafa3d0a846225c3"
@@ -11847,7 +12278,7 @@ wide-align@^1.1.2:
dependencies:
string-width "^1.0.2 || 2 || 3 || 4"
-"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
+"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
@@ -11865,15 +12296,6 @@ wrap-ansi@^6.2.0:
string-width "^4.1.0"
strip-ansi "^6.0.0"
-wrap-ansi@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
- integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
- dependencies:
- ansi-styles "^4.0.0"
- string-width "^4.1.0"
- strip-ansi "^6.0.0"
-
wrap-ansi@^8.1.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"
@@ -11998,6 +12420,11 @@ yocto-queue@^0.1.0:
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
+yocto-queue@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.1.1.tgz#fef65ce3ac9f8a32ceac5a634f74e17e5b232110"
+ integrity sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==
+
yoctocolors-cjs@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz#f4b905a840a37506813a7acaa28febe97767a242"