From 878021575bb6658fc95becc9cf49f23dd62c42f8 Mon Sep 17 00:00:00 2001 From: Marek Kotarba Date: Fri, 5 Apr 2024 12:13:19 +0200 Subject: [PATCH 1/8] add generating og images to build --- docs/build-og-images.js | 155 ++++++++++++++ docs/package.json | 3 +- docs/src/theme/DocItem/Metadata/index.js | 24 +++ docs/unproccessed/og-image.png | Bin 0 -> 204680 bytes docs/yarn.lock | 251 ++++++++++++++++++++++- 5 files changed, 427 insertions(+), 6 deletions(-) create mode 100644 docs/build-og-images.js create mode 100644 docs/src/theme/DocItem/Metadata/index.js create mode 100644 docs/unproccessed/og-image.png diff --git a/docs/build-og-images.js b/docs/build-og-images.js new file mode 100644 index 0000000000..4c4fb42468 --- /dev/null +++ b/docs/build-og-images.js @@ -0,0 +1,155 @@ +const path = require('path'); +const fs = require('fs'); +const { createCanvas, loadImage, registerFont } = require('canvas'); + +registerFont('static/fonts/Aeonik-Bold.otf', { family: 'Aeonik Bold' }); + +const getMarkdownHeader = (path) => { + const content = fs.readFileSync(path, 'utf-8'); + + // get first text between --- + const importantHeaders = content.match(/---([\s\S]*?)---/g)?.filter(header => header !== '------'); + + if (importantHeaders) { + const obj = Object.fromEntries( + importantHeaders + .map(header => header.replace(/---/g, '').split('\n')) + .flat() + .filter(header => header !== '') + .map(header => header.split(':').map(part => part.trim())) + ) + + if (obj?.title) + return obj.title; + } + + const headers = content + .split('\n') + .map((line) => line.trim()) + .filter((line) => line.startsWith('#')) + .map((line, index) => ({ + level: line.match(/#/g).length, + title: line.replace(/#/g, '').trim(), + index, + })) + .sort((a, b) => a.level - b.level || a.index - b.index); + + return headers[0]?.title || ''; +}; + +const getDocs = async (baseDocsPath) => { + let docs = await Promise.all( + (await fs.promises.readdir(baseDocsPath)).map(async (dir) => { + const files = await fs.promises.readdir(path.resolve(baseDocsPath, dir)); + return { + dir, + files: (await Promise.all( + files.map(async (file) => ({ + file, + isDirectory: ((await fs.promises.lstat(path.resolve(baseDocsPath, dir, file))).isDirectory()), + isMarkdown: file.endsWith('.md') || file.endsWith('.mdx') + })) + )).filter(({ isDirectory, isMarkdown }) => isDirectory || isMarkdown) + }; + }) + ); + + docs = await Promise.all(docs.map(async ({dir, files}) => ({ + dir, + files: (await Promise.all(files.map(async file => { + if (!file.isDirectory) return file.file; + + const subFiles = (await fs.promises.readdir(path.resolve(baseDocsPath, dir, file.file))) + .filter(file => file.endsWith('.md') || file.endsWith('.mdx')); + + return subFiles.map(subFile => `${file.file}/${subFile}`); + }))).flat() + }))); + + return docs; +} + +const buildOGImages = async () => { + const baseDocsPath = path.resolve(__dirname, 'docs'); + + const docs = await getDocs(baseDocsPath); + + const targetDocs = path.resolve(__dirname, 'build/docs/og'); + + if (fs.existsSync(targetDocs)) fs.rmSync(targetDocs, { recursive: true }); + + + fs.mkdirSync(targetDocs, { recursive: true }); + + console.log('Generating OG images for docs...'); + + const image = await loadImage( + path.resolve(__dirname, 'unproccessed/og-image.png') + ); + const canvas = createCanvas(1200, 630); + const ctx = canvas.getContext('2d'); + + await Promise.all( + docs.map(async ({ dir, files }) => { + files.map(async (file) => { + ctx.drawImage(image, 0, 0, 1200, 630); + + let header = getMarkdownHeader(path.resolve(baseDocsPath, dir, file)); + + if (header === '') header = 'unnamed'; + + ctx.font = 'bold 72px "Aeonik Bold"'; + ctx.fillStyle = '#001A72'; + ctx.textAlign = 'left'; + if (ctx.measureText(`${header}`).width < 1200 - 6*67) { + ctx.fillText(`${header}`, 67, 337); + } else { + const words = header.split(' '); + let line = ''; + const lines = []; + let y = 337; + for (let i = 0; i < words.length; i++) { + const newLine = `${line} ${words[i]}`.trim(); + if (ctx.measureText(`${newLine}`).width < 1200 - 6*67) { + line = newLine; + } else { + lines.push({ + line, + y + }); + y += 37; + line = `${words[i]}`; + } + } + lines.push({ + line, + y + }) + lines.forEach(({line, y}, index) => { + ctx.fillText(line, 67, y - (lines.length - index) * 37); + }); + } + + ctx.font = 'bold 40px "Aeonik Bold"'; + ctx.fillText( + 'Check out the React Native Reanimated\ndocumentation.', + 67, + 439 + ); + + const buffer = canvas.toBuffer('image/png'); + const target = path.resolve( + targetDocs, + `${header.replace(/[ /]/g, '-').replace(/`/g, '').replace(/:/g, '').toLowerCase()}.png` + ); + await fs.promises.writeFile(target, buffer); + + ctx.clearRect(0, 0, 1200, 630); + }); + }) + ); + + console.log('OG images generated.'); +}; + +buildOGImages(); diff --git a/docs/package.json b/docs/package.json index fb98b0faef..40eae1a625 100644 --- a/docs/package.json +++ b/docs/package.json @@ -5,7 +5,7 @@ "scripts": { "docusaurus": "docusaurus", "start": "docusaurus start", - "build": "docusaurus build", + "build": "docusaurus build && node build-og-images.js", "swizzle": "docusaurus swizzle", "deploy": "docusaurus deploy", "clear": "docusaurus clear", @@ -32,6 +32,7 @@ "babel-polyfill": "^6.26.0", "babel-preset-expo": "^9.2.2", "babel-preset-react-native": "^4.0.1", + "canvas": "^2.11.2", "clsx": "^1.2.1", "raf": "^3.4.1", "raw-loader": "^4.0.2", diff --git a/docs/src/theme/DocItem/Metadata/index.js b/docs/src/theme/DocItem/Metadata/index.js new file mode 100644 index 0000000000..a86841356b --- /dev/null +++ b/docs/src/theme/DocItem/Metadata/index.js @@ -0,0 +1,24 @@ +import React from 'react'; +import {PageMetadata} from '@docusaurus/theme-common'; +import {useDoc} from '@docusaurus/theme-common/internal'; +export default function DocItemMetadata() { + const {metadata, frontMatter, assets} = useDoc(); + + if (!metadata) + return null; + + const image = metadata.title + .replace(/[ /]/g, '-') + .replace(/`/g, '') + .replace(/:/g, '') + .toLowerCase(); + + return ( + + ); +} diff --git a/docs/unproccessed/og-image.png b/docs/unproccessed/og-image.png new file mode 100644 index 0000000000000000000000000000000000000000..9218842ff507db590419d4bc0d8e22a9163c7803 GIT binary patch literal 204680 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[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�Q#7+( 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 Date: Wed, 10 Apr 2024 13:10:31 +0200 Subject: [PATCH 2/8] changing canvas with @vercel/og --- docs/build-og-images.js | 155 ------- docs/package.json | 6 +- docs/scripts/build-og-images.jsx | 218 ++++++++++ docs/src/theme/DocItem/Metadata/index.js | 15 +- docs/yarn.lock | 500 +++++++++++++---------- 5 files changed, 517 insertions(+), 377 deletions(-) delete mode 100644 docs/build-og-images.js create mode 100644 docs/scripts/build-og-images.jsx diff --git a/docs/build-og-images.js b/docs/build-og-images.js deleted file mode 100644 index 4c4fb42468..0000000000 --- a/docs/build-og-images.js +++ /dev/null @@ -1,155 +0,0 @@ -const path = require('path'); -const fs = require('fs'); -const { createCanvas, loadImage, registerFont } = require('canvas'); - -registerFont('static/fonts/Aeonik-Bold.otf', { family: 'Aeonik Bold' }); - -const getMarkdownHeader = (path) => { - const content = fs.readFileSync(path, 'utf-8'); - - // get first text between --- - const importantHeaders = content.match(/---([\s\S]*?)---/g)?.filter(header => header !== '------'); - - if (importantHeaders) { - const obj = Object.fromEntries( - importantHeaders - .map(header => header.replace(/---/g, '').split('\n')) - .flat() - .filter(header => header !== '') - .map(header => header.split(':').map(part => part.trim())) - ) - - if (obj?.title) - return obj.title; - } - - const headers = content - .split('\n') - .map((line) => line.trim()) - .filter((line) => line.startsWith('#')) - .map((line, index) => ({ - level: line.match(/#/g).length, - title: line.replace(/#/g, '').trim(), - index, - })) - .sort((a, b) => a.level - b.level || a.index - b.index); - - return headers[0]?.title || ''; -}; - -const getDocs = async (baseDocsPath) => { - let docs = await Promise.all( - (await fs.promises.readdir(baseDocsPath)).map(async (dir) => { - const files = await fs.promises.readdir(path.resolve(baseDocsPath, dir)); - return { - dir, - files: (await Promise.all( - files.map(async (file) => ({ - file, - isDirectory: ((await fs.promises.lstat(path.resolve(baseDocsPath, dir, file))).isDirectory()), - isMarkdown: file.endsWith('.md') || file.endsWith('.mdx') - })) - )).filter(({ isDirectory, isMarkdown }) => isDirectory || isMarkdown) - }; - }) - ); - - docs = await Promise.all(docs.map(async ({dir, files}) => ({ - dir, - files: (await Promise.all(files.map(async file => { - if (!file.isDirectory) return file.file; - - const subFiles = (await fs.promises.readdir(path.resolve(baseDocsPath, dir, file.file))) - .filter(file => file.endsWith('.md') || file.endsWith('.mdx')); - - return subFiles.map(subFile => `${file.file}/${subFile}`); - }))).flat() - }))); - - return docs; -} - -const buildOGImages = async () => { - const baseDocsPath = path.resolve(__dirname, 'docs'); - - const docs = await getDocs(baseDocsPath); - - const targetDocs = path.resolve(__dirname, 'build/docs/og'); - - if (fs.existsSync(targetDocs)) fs.rmSync(targetDocs, { recursive: true }); - - - fs.mkdirSync(targetDocs, { recursive: true }); - - console.log('Generating OG images for docs...'); - - const image = await loadImage( - path.resolve(__dirname, 'unproccessed/og-image.png') - ); - const canvas = createCanvas(1200, 630); - const ctx = canvas.getContext('2d'); - - await Promise.all( - docs.map(async ({ dir, files }) => { - files.map(async (file) => { - ctx.drawImage(image, 0, 0, 1200, 630); - - let header = getMarkdownHeader(path.resolve(baseDocsPath, dir, file)); - - if (header === '') header = 'unnamed'; - - ctx.font = 'bold 72px "Aeonik Bold"'; - ctx.fillStyle = '#001A72'; - ctx.textAlign = 'left'; - if (ctx.measureText(`${header}`).width < 1200 - 6*67) { - ctx.fillText(`${header}`, 67, 337); - } else { - const words = header.split(' '); - let line = ''; - const lines = []; - let y = 337; - for (let i = 0; i < words.length; i++) { - const newLine = `${line} ${words[i]}`.trim(); - if (ctx.measureText(`${newLine}`).width < 1200 - 6*67) { - line = newLine; - } else { - lines.push({ - line, - y - }); - y += 37; - line = `${words[i]}`; - } - } - lines.push({ - line, - y - }) - lines.forEach(({line, y}, index) => { - ctx.fillText(line, 67, y - (lines.length - index) * 37); - }); - } - - ctx.font = 'bold 40px "Aeonik Bold"'; - ctx.fillText( - 'Check out the React Native Reanimated\ndocumentation.', - 67, - 439 - ); - - const buffer = canvas.toBuffer('image/png'); - const target = path.resolve( - targetDocs, - `${header.replace(/[ /]/g, '-').replace(/`/g, '').replace(/:/g, '').toLowerCase()}.png` - ); - await fs.promises.writeFile(target, buffer); - - ctx.clearRect(0, 0, 1200, 630); - }); - }) - ); - - console.log('OG images generated.'); -}; - -buildOGImages(); diff --git a/docs/package.json b/docs/package.json index 40eae1a625..ce84eb1c95 100644 --- a/docs/package.json +++ b/docs/package.json @@ -5,7 +5,7 @@ "scripts": { "docusaurus": "docusaurus", "start": "docusaurus start", - "build": "docusaurus build && node build-og-images.js", + "build": "docusaurus build && node -r esbuild-register scripts/build-og-images.jsx", "swizzle": "docusaurus swizzle", "deploy": "docusaurus deploy", "clear": "docusaurus clear", @@ -29,10 +29,10 @@ "@emotion/styled": "^11.10.6", "@mdx-js/react": "^1.6.22", "@mui/material": "^5.12.0", + "@vercel/og": "^0.6.2", "babel-polyfill": "^6.26.0", "babel-preset-expo": "^9.2.2", "babel-preset-react-native": "^4.0.1", - "canvas": "^2.11.2", "clsx": "^1.2.1", "raf": "^3.4.1", "raw-loader": "^4.0.2", @@ -52,6 +52,8 @@ "@docusaurus/module-type-aliases": "^2.4.3", "@tsconfig/docusaurus": "^1.0.7", "copy-webpack-plugin": "^11.0.0", + "esbuild": "^0.20.2", + "esbuild-register": "^3.5.0", "eslint-plugin-mdx": "^2.2.0", "prettier": "^2.8.4", "typescript": "^4.7.4", diff --git a/docs/scripts/build-og-images.jsx b/docs/scripts/build-og-images.jsx new file mode 100644 index 0000000000..f7ebc2828f --- /dev/null +++ b/docs/scripts/build-og-images.jsx @@ -0,0 +1,218 @@ +import { ImageResponse } from '@vercel/og'; +import { createWriteStream } from 'fs'; +import { pipeline } from 'stream'; +import { promisify } from 'util'; +import React from 'react'; +import path from 'path'; +import fs from 'fs'; + +const getMarkdownHeader = (path) => { + const content = fs.readFileSync(path, 'utf-8'); + + // get first text between --- + const importantHeaders = content + .match(/---([\s\S]*?)---/g) + ?.filter((header) => header !== '------'); + + if (importantHeaders) { + const obj = Object.fromEntries( + importantHeaders + .map((header) => header.replace(/---/g, '').split('\n')) + .flat() + .filter((header) => header !== '') + .map((header) => header.split(':').map((part) => part.trim())) + ); + + if (obj?.title) return obj.title; + } + + const headers = content + .split('\n') + .map((line) => line.trim()) + .filter((line) => line.startsWith('#')) + .map((line, index) => ({ + level: line.match(/#/g).length, + title: line.replace(/#/g, '').trim(), + index, + })) + .sort((a, b) => a.level - b.level || a.index - b.index); + + return headers[0]?.title; +}; + +async function saveStreamToFile(stream, path) { + const writeStream = createWriteStream(path); + await promisify(pipeline)(stream, writeStream); +} + +const getDocs = async (baseDocsPath) => { + let docs = await Promise.all( + ( + await fs.promises.readdir(baseDocsPath) + ).map(async (dir) => { + const files = await fs.promises.readdir(path.resolve(baseDocsPath, dir)); + return { + dir, + files: ( + await Promise.all( + files.map(async (file) => ({ + file, + isDirectory: ( + await fs.promises.lstat(path.resolve(baseDocsPath, dir, file)) + ).isDirectory(), + isMarkdown: file.endsWith('.md') || file.endsWith('.mdx'), + })) + ) + ).filter(({ isDirectory, isMarkdown }) => isDirectory || isMarkdown), + }; + }) + ); + + docs = await Promise.all( + docs.map(async ({ dir, files }) => ({ + dir, + files: ( + await Promise.all( + files.map(async (file) => { + if (!file.isDirectory) return file.file; + + const subFiles = ( + await fs.promises.readdir( + path.resolve(baseDocsPath, dir, file.file) + ) + ).filter((file) => file.endsWith('.md') || file.endsWith('.mdx')); + + return subFiles.map((subFile) => `${file.file}/${subFile}`); + }) + ) + ).flat(), + })) + ); + + return docs; +}; + +const buildOGImages = async () => { + const baseDocsPath = path.resolve(__dirname, '../docs'); + + const docs = await getDocs(baseDocsPath); + + const targetDocs = path.resolve(__dirname, '../build/img/og'); + + if (fs.existsSync(targetDocs)) fs.rmSync(targetDocs, { recursive: true }); + + fs.mkdirSync(targetDocs, { recursive: true }); + + console.log('Generating OG images for docs...'); + + const imagePath = path.resolve(__dirname, '../unproccessed/og-image.png'); + const imageBuffer = fs.readFileSync(imagePath); + const base64Image = `data:image/png;base64,${imageBuffer.toString('base64')}`; + + await Promise.all( + docs.map(async ({ dir, files }) => { + files.map(async (file) => { + const header = + getMarkdownHeader(path.resolve(baseDocsPath, dir, file)) ?? + 'React Native Reanimated'; + + await saveStreamToFile( + new ImageResponse( + ( +
+ +
+

+ {header} +

+
+                    {'Check out the React Native\nReanimated documentation.'}
+                  
+
+
+ ), + { + width: 1200, + height: 630, + fonts: [ + { + name: 'Aeonik Bold', + data: fs.readFileSync( + path.resolve(__dirname, '../static/fonts/Aeonik-Bold.otf') + ), + style: 'normal', + }, + { + name: 'Aeonik Regular', + data: fs.readFileSync( + path.resolve( + __dirname, + '../static/fonts/Aeonik-Regular.otf' + ) + ), + style: 'normal', + }, + ], + } + ).body, + path.resolve( + targetDocs, + `${header + .replace(/[ /]/g, '-') + .replace(/`/g, '') + .replace(/:/g, '') + .toLowerCase()}.png` + ) + ); + }); + }) + ); +}; + +buildOGImages(); diff --git a/docs/src/theme/DocItem/Metadata/index.js b/docs/src/theme/DocItem/Metadata/index.js index a86841356b..3031082104 100644 --- a/docs/src/theme/DocItem/Metadata/index.js +++ b/docs/src/theme/DocItem/Metadata/index.js @@ -1,13 +1,12 @@ import React from 'react'; -import {PageMetadata} from '@docusaurus/theme-common'; -import {useDoc} from '@docusaurus/theme-common/internal'; +import { PageMetadata } from '@docusaurus/theme-common'; +import { useDoc } from '@docusaurus/theme-common/internal'; export default function DocItemMetadata() { - const {metadata, frontMatter, assets} = useDoc(); + const { metadata, frontMatter, assets } = useDoc(); - if (!metadata) - return null; + if (!metadata) return null; - const image = metadata.title + const ogImage = metadata.title .replace(/[ /]/g, '-') .replace(/`/g, '') .replace(/:/g, '') @@ -18,7 +17,9 @@ export default function DocItemMetadata() { title={metadata.title} description={metadata.description} keywords={frontMatter.keywords} - image={`docs/og/${image === '' || !image ? 'unnamed' : image}.png`} + image={`docs/og/${ + ogImage === '' || !ogImage ? 'React Native Reanimated' : ogImage + }.png`} /> ); } diff --git a/docs/yarn.lock b/docs/yarn.lock index e6051bca26..3a3da64a18 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -2211,6 +2211,121 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz#ea89004119dc42db2e1dba0f97d553f7372f6fcb" integrity sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg== +"@esbuild/aix-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" + integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== + +"@esbuild/android-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9" + integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== + +"@esbuild/android-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995" + integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== + +"@esbuild/android-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98" + integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== + +"@esbuild/darwin-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb" + integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== + +"@esbuild/darwin-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0" + integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== + +"@esbuild/freebsd-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911" + integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== + +"@esbuild/freebsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c" + integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== + +"@esbuild/linux-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5" + integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== + +"@esbuild/linux-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c" + integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== + +"@esbuild/linux-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa" + integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== + +"@esbuild/linux-loong64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5" + integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== + +"@esbuild/linux-mips64el@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa" + integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== + +"@esbuild/linux-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20" + integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== + +"@esbuild/linux-riscv64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300" + integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== + +"@esbuild/linux-s390x@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685" + integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== + +"@esbuild/linux-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff" + integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== + +"@esbuild/netbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6" + integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== + +"@esbuild/openbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf" + integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== + +"@esbuild/sunos-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f" + integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== + +"@esbuild/win32-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90" + integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== + +"@esbuild/win32-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23" + integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== + +"@esbuild/win32-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc" + integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== + "@hapi/hoek@^9.0.0": version "9.3.0" resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" @@ -2370,21 +2485,6 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@mapbox/node-pre-gyp@^1.0.0": - 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== - dependencies: - detect-libc "^2.0.0" - https-proxy-agent "^5.0.0" - make-dir "^3.1.0" - node-fetch "^2.6.7" - nopt "^5.0.0" - npmlog "^5.0.1" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.11" - "@mdx-js/mdx@^1.6.22": version "1.6.22" resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.22.tgz#8a723157bf90e78f17dc0f27995398e6c731f1ba" @@ -2772,6 +2872,19 @@ resolved "https://registry.yarnpkg.com/@react-native/polyfills/-/polyfills-2.0.0.tgz#4c40b74655c83982c8cf47530ee7dc13d957b6aa" integrity sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ== +"@resvg/resvg-wasm@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@resvg/resvg-wasm/-/resvg-wasm-2.4.0.tgz#e01164b9a267c822e1ff797daa2fb91b663ea6f0" + integrity sha512-C7c51Nn4yTxXFKvgh2txJFNweaVcfUPQxwEUFw4aWsCmfiBDJsTSwviIF8EcwjQ6k8bPyMWCl1vw4BdxE569Cg== + +"@shuding/opentype.js@1.4.0-beta.0": + version "1.4.0-beta.0" + resolved "https://registry.yarnpkg.com/@shuding/opentype.js/-/opentype.js-1.4.0-beta.0.tgz#5d1e7e9e056f546aad41df1c5043f8f85d39e24b" + integrity sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA== + dependencies: + fflate "^0.7.3" + string.prototype.codepointat "^0.2.1" + "@sideway/address@^4.1.3": version "4.1.4" resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0" @@ -3299,6 +3412,15 @@ dependencies: "@types/yargs-parser" "*" +"@vercel/og@^0.6.2": + version "0.6.2" + resolved "https://registry.yarnpkg.com/@vercel/og/-/og-0.6.2.tgz#228b064451c6ea4e3900e2c94404bec57f7fd172" + integrity sha512-OTe0KE37F5Y2eTys6eMnfopC+P4qr2ooXUTFyFPTplYSPwowmFk/HLD1FXtbKLjqsIH0SgekcJWad+C5uX4nkg== + dependencies: + "@resvg/resvg-wasm" "2.4.0" + satori "0.10.9" + yoga-wasm-web "0.3.3" + "@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" @@ -3450,11 +3572,6 @@ abab@^2.0.6: resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - abbrev@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf" @@ -3510,13 +3627,6 @@ address@^1.0.1, address@^1.1.2: resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" @@ -3679,19 +3789,6 @@ appdirsjs@^1.2.4: resolved "https://registry.yarnpkg.com/appdirsjs/-/appdirsjs-1.2.7.tgz#50b4b7948a26ba6090d4aede2ae2dc2b051be3b3" integrity sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw== -"aproba@^1.0.3 || ^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" - integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== - -are-we-there-yet@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" - integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" - arg@^5.0.0: version "5.0.2" resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" @@ -4418,6 +4515,11 @@ base16@^1.0.0: resolved "https://registry.yarnpkg.com/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70" integrity sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ== +base64-js@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" + integrity sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw== + base64-js@^1.1.2, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" @@ -4701,6 +4803,11 @@ camelcase@^6.0.0, camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== +camelize@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3" + integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== + caniuse-api@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" @@ -4716,15 +4823,6 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449: resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001549.tgz" integrity sha512-qRp48dPYSCYaP+KurZLhDYdVE+yEyht/3NlmcJgVQ2VMGt6JL36ndQ/7rgspdZsJuxDPFIo/OzBT2+GmIJ53BA== -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" - ccount@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" @@ -4838,11 +4936,6 @@ chokidar@^3.4.2, chokidar@^3.5.3: optionalDependencies: fsevents "~2.3.2" -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - chrome-trace-event@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" @@ -4987,16 +5080,11 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== -color-name@~1.1.4: +color-name@^1.1.4, color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-support@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - colord@^2.9.1: version "2.9.3" resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" @@ -5134,11 +5222,6 @@ consola@^2.15.3: resolved "https://registry.yarnpkg.com/consola/-/consola-2.15.3.tgz#2e11f98d6a4be71ff72e0bdf07bd23e12cb61550" integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== -console-control-strings@^1.0.0, console-control-strings@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== - content-disposition@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" @@ -5297,6 +5380,21 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== +css-background-parser@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/css-background-parser/-/css-background-parser-0.1.0.tgz#48a17f7fe6d4d4f1bca3177ddf16c5617950741b" + integrity sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA== + +css-box-shadow@1.0.0-3: + version "1.0.0-3" + resolved "https://registry.yarnpkg.com/css-box-shadow/-/css-box-shadow-1.0.0-3.tgz#9eaeb7140947bf5d649fc49a19e4bbaa5f602713" + integrity sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg== + +css-color-keywords@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" + integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg== + css-declaration-sorter@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz#be5e1d71b7a992433fb1c542c7a1b835e45682ec" @@ -5357,6 +5455,15 @@ css-select@^5.1.0: domutils "^3.0.1" nth-check "^2.0.1" +css-to-react-native@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.2.0.tgz#cdd8099f71024e149e4f6fe17a7d46ecd55f1e32" + integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ== + dependencies: + camelize "^1.0.0" + css-color-keywords "^1.0.0" + postcss-value-parser "^4.0.2" + css-tree@^1.1.2, css-tree@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" @@ -5465,7 +5572,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8: dependencies: ms "2.0.0" -debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1: +debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -5496,13 +5603,6 @@ decompress-response@^3.3.0: dependencies: mimic-response "^1.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" - deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -5609,11 +5709,6 @@ del@^6.1.1: rimraf "^3.0.2" slash "^3.0.0" -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== - denodeify@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" @@ -5655,11 +5750,6 @@ detab@2.0.4: dependencies: repeat-string "^1.5.4" -detect-libc@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" - integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== - detect-node@^2.0.4: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" @@ -5820,6 +5910,11 @@ electron-to-chromium@^1.4.284: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.301.tgz#175d9fa1509a5b062752c6db321051e610fe2eae" integrity sha512-bz00ASIIDjcgszZKuEA1JEFhbDjqUNbQ/PEhNEl1wbixzYpeTp2H2QWjsQvAL2T1wJBdOwCF5hE896BoMwYKrA== +emoji-regex@^10.2.1: + version "10.3.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.3.0.tgz#76998b9268409eb3dae3de989254d456e70cfe23" + integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -5902,6 +5997,42 @@ es-module-lexer@^1.2.1: resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.2.1.tgz#ba303831f63e6a394983fde2f97ad77b22324527" integrity sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg== +esbuild-register@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/esbuild-register/-/esbuild-register-3.5.0.tgz#449613fb29ab94325c722f560f800dd946dc8ea8" + integrity sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A== + dependencies: + debug "^4.3.4" + +esbuild@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.2.tgz#9d6b2386561766ee6b5a55196c6d766d28c87ea1" + integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== + optionalDependencies: + "@esbuild/aix-ppc64" "0.20.2" + "@esbuild/android-arm" "0.20.2" + "@esbuild/android-arm64" "0.20.2" + "@esbuild/android-x64" "0.20.2" + "@esbuild/darwin-arm64" "0.20.2" + "@esbuild/darwin-x64" "0.20.2" + "@esbuild/freebsd-arm64" "0.20.2" + "@esbuild/freebsd-x64" "0.20.2" + "@esbuild/linux-arm" "0.20.2" + "@esbuild/linux-arm64" "0.20.2" + "@esbuild/linux-ia32" "0.20.2" + "@esbuild/linux-loong64" "0.20.2" + "@esbuild/linux-mips64el" "0.20.2" + "@esbuild/linux-ppc64" "0.20.2" + "@esbuild/linux-riscv64" "0.20.2" + "@esbuild/linux-s390x" "0.20.2" + "@esbuild/linux-x64" "0.20.2" + "@esbuild/netbsd-x64" "0.20.2" + "@esbuild/openbsd-x64" "0.20.2" + "@esbuild/sunos-x64" "0.20.2" + "@esbuild/win32-arm64" "0.20.2" + "@esbuild/win32-ia32" "0.20.2" + "@esbuild/win32-x64" "0.20.2" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -6311,6 +6442,11 @@ feed@^4.2.2: dependencies: xml-js "^1.6.11" +fflate@^0.7.3: + version "0.7.4" + resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.7.4.tgz#61587e5d958fdabb5a9368a302c25363f4f69f50" + integrity sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw== + file-loader@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" @@ -6531,13 +6667,6 @@ fs-extra@^9.0.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - fs-monkey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" @@ -6558,21 +6687,6 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -gauge@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" - integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.2" - console-control-strings "^1.0.0" - has-unicode "^2.0.1" - object-assign "^4.1.1" - signal-exit "^3.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.2" - gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -6821,11 +6935,6 @@ has-symbols@^1.0.3: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-unicode@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== - has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" @@ -6961,6 +7070,11 @@ hermes-profile-transformer@^0.0.6: dependencies: source-map "^0.7.3" +hex-rgb@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/hex-rgb/-/hex-rgb-4.3.0.tgz#af5e974e83bb2fefe44d55182b004ec818c07776" + integrity sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw== + history@^4.9.0: version "4.10.1" resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" @@ -7105,14 +7219,6 @@ http-proxy@^1.18.1: follow-redirects "^1.0.0" requires-port "^1.0.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" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - human-signals@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" @@ -7999,6 +8105,14 @@ lilconfig@^2.0.3: resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== +linebreak@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/linebreak/-/linebreak-1.1.0.tgz#831cf378d98bced381d8ab118f852bd50d81e46b" + integrity sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ== + dependencies: + base64-js "0.0.8" + unicode-trie "^2.0.0" + lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" @@ -9080,11 +9194,6 @@ mimic-response@^1.0.0, mimic-response@^1.0.1: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== -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== - min-document@^2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" @@ -9130,31 +9239,11 @@ minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -minipass@^3.0.0: - version "3.3.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" - integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== - dependencies: - yallist "^4.0.0" - -minipass@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" - integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== - "minipass@^5.0.0 || ^6.0.2 || ^7.0.0": version "7.0.3" resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.3.tgz#05ea638da44e475037ed94d1c7efcc76a25e1974" integrity sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg== -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - mixin-deep@^1.2.0: version "1.3.2" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" @@ -9170,11 +9259,6 @@ mkdirp@^0.5.1: dependencies: minimist "^1.2.6" -mkdirp@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - mri@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" @@ -9208,11 +9292,6 @@ multicast-dns@^7.2.5: dns-packet "^5.2.2" thunky "^1.0.2" -nan@^2.17.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.19.0.tgz#bb58122ad55a6c5bc973303908d5b16cfdd5a8c0" - integrity sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw== - nanoid@^3.3.6: version "3.3.6" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" @@ -9291,13 +9370,6 @@ node-fetch@^2.2.0, node-fetch@^2.6.0: dependencies: whatwg-url "^5.0.0" -node-fetch@^2.6.7: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - node-forge@^1: version "1.3.1" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" @@ -9318,13 +9390,6 @@ node-stream-zip@^1.9.1: resolved "https://registry.yarnpkg.com/node-stream-zip/-/node-stream-zip-1.15.0.tgz#158adb88ed8004c6c49a396b50a6a5de3bca33ea" integrity sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw== -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== - dependencies: - abbrev "1" - nopt@^7.0.0: version "7.2.0" resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.0.tgz#067378c68116f602f552876194fd11f1292503d7" @@ -9383,16 +9448,6 @@ npm-run-path@^5.1.0: dependencies: path-key "^4.0.0" -npmlog@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" - integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== - dependencies: - are-we-there-yet "^2.0.0" - console-control-strings "^1.1.0" - gauge "^3.0.0" - set-blocking "^2.0.0" - nprogress@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" @@ -9634,6 +9689,11 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" +pako@^0.2.5: + version "0.2.9" + resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + integrity sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA== + param-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" @@ -9649,6 +9709,14 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-css-color@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/parse-css-color/-/parse-css-color-0.2.1.tgz#b687a583f2e42e66ffdfce80a570706966e807c9" + integrity sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg== + dependencies: + color-name "^1.1.4" + hex-rgb "^4.1.0" + parse-entities@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" @@ -10138,7 +10206,7 @@ postcss-unique-selectors@^5.1.1: dependencies: postcss-selector-parser "^6.0.5" -postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== @@ -10722,7 +10790,7 @@ readable-stream@^2.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.2, readable-stream@^3.4.0, readable-stream@^3.6.0: +readable-stream@^3.0.2, readable-stream@^3.4.0: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -11188,6 +11256,22 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +satori@0.10.9: + version "0.10.9" + resolved "https://registry.yarnpkg.com/satori/-/satori-0.10.9.tgz#efde2898ab4a5b09c072f0f4e112ac4a7d6a499c" + integrity sha512-XU9EELUEZuioT4acLIpCXxHcFzrsC8muvg0MY28d+TlqwxbkTzBmWbw+3+hnCzXT7YZ0Qm8k3eXktDaEu+qmEw== + dependencies: + "@shuding/opentype.js" "1.4.0-beta.0" + css-background-parser "^0.1.0" + css-box-shadow "1.0.0-3" + css-to-react-native "^3.0.0" + emoji-regex "^10.2.1" + escape-html "^1.0.3" + linebreak "^1.1.0" + parse-css-color "^0.2.1" + postcss-value-parser "^4.2.0" + yoga-wasm-web "^0.3.3" + sax@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -11465,20 +11549,6 @@ signal-exit@^4.0.1: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== -simple-concat@^1.0.0: - version "1.0.1" - 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" - sirv@^1.0.7: version "1.0.19" resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.19.tgz#1d73979b38c7fe91fcba49c85280daa9c2363b49" @@ -11720,7 +11790,7 @@ std-env@^3.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, 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== @@ -11738,6 +11808,11 @@ string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" +string.prototype.codepointat@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz#004ad44c8afc727527b108cd462b4d971cd469bc" + integrity sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg== + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -11941,18 +12016,6 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -tar@^6.1.11: - version "6.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" - integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^5.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - temp@0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59" @@ -12043,6 +12106,11 @@ thunky@^1.0.2: resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== +tiny-inflate@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz#122715494913a1805166aaf7c93467933eea26c4" + integrity sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw== + tiny-invariant@^1.0.2: version "1.3.1" resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" @@ -12252,6 +12320,14 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== +unicode-trie@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-trie/-/unicode-trie-2.0.0.tgz#8fd8845696e2e14a8b67d78fa9e0dd2cad62fec8" + integrity sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ== + dependencies: + pako "^0.2.5" + tiny-inflate "^1.0.0" + unified-engine@^10.1.0: version "10.1.0" resolved "https://registry.yarnpkg.com/unified-engine/-/unified-engine-10.1.0.tgz#6899f00d1f53ee9af94f7abd0ec21242aae3f56c" @@ -12917,13 +12993,6 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -wide-align@^1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - widest-line@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" @@ -13115,6 +13184,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== +yoga-wasm-web@0.3.3, yoga-wasm-web@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/yoga-wasm-web/-/yoga-wasm-web-0.3.3.tgz#eb8e9fcb18e5e651994732f19a220cb885d932ba" + integrity sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA== + zwitch@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" From fa65ea491f12c158414777a52f6ef689cae43fc5 Mon Sep 17 00:00:00 2001 From: Marek Kotarba Date: Thu, 11 Apr 2024 10:04:41 +0200 Subject: [PATCH 3/8] nestings removed --- docs/scripts/build-og-images.jsx | 233 +++++++++++-------------------- docs/scripts/og-image-stream.jsx | 90 ++++++++++++ 2 files changed, 174 insertions(+), 149 deletions(-) create mode 100644 docs/scripts/og-image-stream.jsx diff --git a/docs/scripts/build-og-images.jsx b/docs/scripts/build-og-images.jsx index f7ebc2828f..35bf371bda 100644 --- a/docs/scripts/build-og-images.jsx +++ b/docs/scripts/build-og-images.jsx @@ -1,10 +1,27 @@ -import { ImageResponse } from '@vercel/og'; import { createWriteStream } from 'fs'; import { pipeline } from 'stream'; import { promisify } from 'util'; -import React from 'react'; import path from 'path'; import fs from 'fs'; +import OGImageStream from './og-image-stream'; + +const formatImportantHeaders = (headers) => { + return Object.fromEntries( + headers + .map((header) => header.replace(/---/g, '').split('\n')) + .flat() + .filter((header) => header !== '') + .map((header) => header.split(':').map((part) => part.trim())) + ); +}; + +const formatHeaderToFilename = (header) => { + return `${header + .replace(/[ /]/g, '-') + .replace(/`/g, '') + .replace(/:/g, '') + .toLowerCase()}.png`; +}; const getMarkdownHeader = (path) => { const content = fs.readFileSync(path, 'utf-8'); @@ -15,15 +32,11 @@ const getMarkdownHeader = (path) => { ?.filter((header) => header !== '------'); if (importantHeaders) { - const obj = Object.fromEntries( - importantHeaders - .map((header) => header.replace(/---/g, '').split('\n')) - .flat() - .filter((header) => header !== '') - .map((header) => header.split(':').map((part) => part.trim())) - ); - - if (obj?.title) return obj.title; + const obj = formatImportantHeaders(importantHeaders); + + if (obj?.title) { + return obj.title; + } } const headers = content @@ -37,7 +50,7 @@ const getMarkdownHeader = (path) => { })) .sort((a, b) => a.level - b.level || a.index - b.index); - return headers[0]?.title; + return headers[0]?.title || 'React Native Reanimated'; }; async function saveStreamToFile(stream, path) { @@ -45,47 +58,55 @@ async function saveStreamToFile(stream, path) { await promisify(pipeline)(stream, writeStream); } +const formatFilesInDoc = async (dir, files, baseDocsPath) => { + return await Promise.all( + files.map(async (file) => ({ + file, + isDirectory: ( + await fs.promises.lstat(path.resolve(baseDocsPath, dir, file)) + ).isDirectory(), + isMarkdown: file.endsWith('.md') || file.endsWith('.mdx'), + })) + ); +}; + +const formatDocInDocs = async (dir, baseDocsPath) => { + const files = await fs.promises.readdir(path.resolve(baseDocsPath, dir)); + return { + dir, + files: (await formatFilesInDoc(dir, files, baseDocsPath)).filter( + ({ isDirectory, isMarkdown }) => isDirectory || isMarkdown + ), + }; +}; + +const extractSubFiles = async (dir, files, baseDocsPath) => { + return ( + await Promise.all( + files.map(async (file) => { + if (!file.isDirectory) return file.file; + + const subFiles = ( + await fs.promises.readdir(path.resolve(baseDocsPath, dir, file.file)) + ).filter((file) => file.endsWith('.md') || file.endsWith('.mdx')); + + return subFiles.map((subFile) => `${file.file}/${subFile}`); + }) + ) + ).flat(); +}; + const getDocs = async (baseDocsPath) => { let docs = await Promise.all( ( await fs.promises.readdir(baseDocsPath) - ).map(async (dir) => { - const files = await fs.promises.readdir(path.resolve(baseDocsPath, dir)); - return { - dir, - files: ( - await Promise.all( - files.map(async (file) => ({ - file, - isDirectory: ( - await fs.promises.lstat(path.resolve(baseDocsPath, dir, file)) - ).isDirectory(), - isMarkdown: file.endsWith('.md') || file.endsWith('.mdx'), - })) - ) - ).filter(({ isDirectory, isMarkdown }) => isDirectory || isMarkdown), - }; - }) + ).map(async (dir) => formatDocInDocs(dir, baseDocsPath)) ); docs = await Promise.all( docs.map(async ({ dir, files }) => ({ dir, - files: ( - await Promise.all( - files.map(async (file) => { - if (!file.isDirectory) return file.file; - - const subFiles = ( - await fs.promises.readdir( - path.resolve(baseDocsPath, dir, file.file) - ) - ).filter((file) => file.endsWith('.md') || file.endsWith('.mdx')); - - return subFiles.map((subFile) => `${file.file}/${subFile}`); - }) - ) - ).flat(), + files: await extractSubFiles(dir, files, baseDocsPath), })) ); @@ -99,7 +120,9 @@ const buildOGImages = async () => { const targetDocs = path.resolve(__dirname, '../build/img/og'); - if (fs.existsSync(targetDocs)) fs.rmSync(targetDocs, { recursive: true }); + if (fs.existsSync(targetDocs)) { + fs.rmSync(targetDocs, { recursive: true }); + } fs.mkdirSync(targetDocs, { recursive: true }); @@ -109,110 +132,22 @@ const buildOGImages = async () => { const imageBuffer = fs.readFileSync(imagePath); const base64Image = `data:image/png;base64,${imageBuffer.toString('base64')}`; - await Promise.all( - docs.map(async ({ dir, files }) => { - files.map(async (file) => { - const header = - getMarkdownHeader(path.resolve(baseDocsPath, dir, file)) ?? - 'React Native Reanimated'; - - await saveStreamToFile( - new ImageResponse( - ( -
- -
-

- {header} -

-
-                    {'Check out the React Native\nReanimated documentation.'}
-                  
-
-
- ), - { - width: 1200, - height: 630, - fonts: [ - { - name: 'Aeonik Bold', - data: fs.readFileSync( - path.resolve(__dirname, '../static/fonts/Aeonik-Bold.otf') - ), - style: 'normal', - }, - { - name: 'Aeonik Regular', - data: fs.readFileSync( - path.resolve( - __dirname, - '../static/fonts/Aeonik-Regular.otf' - ) - ), - style: 'normal', - }, - ], - } - ).body, - path.resolve( - targetDocs, - `${header - .replace(/[ /]/g, '-') - .replace(/`/g, '') - .replace(/:/g, '') - .toLowerCase()}.png` - ) - ); - }); - }) - ); + docs.map(async ({ dir, files }) => { + files.map(async (file) => { + const header = getMarkdownHeader(path.resolve(baseDocsPath, dir, file)); + + const ogImageStream = await OGImageStream( + header, + base64Image, + targetDocs + ); + + await saveStreamToFile( + ogImageStream, + path.resolve(targetDocs, formatHeaderToFilename(header)) + ); + }); + }); }; buildOGImages(); diff --git a/docs/scripts/og-image-stream.jsx b/docs/scripts/og-image-stream.jsx new file mode 100644 index 0000000000..9cfaff243a --- /dev/null +++ b/docs/scripts/og-image-stream.jsx @@ -0,0 +1,90 @@ +import React from 'react'; +import path from 'path'; +import { ImageResponse } from '@vercel/og'; +import fs from 'fs'; + +export default async function OGImageStream(header, base64Image, targetDocs) { + return ( + new ImageResponse( + ( +
+ +
+

+ {header} +

+
+              {'Check out the React Native\nReanimated documentation.'}
+            
+
+
+ ), + { + width: 1200, + height: 630, + fonts: [ + { + name: 'Aeonik Bold', + data: fs.readFileSync( + path.resolve(__dirname, '../static/fonts/Aeonik-Bold.otf') + ), + style: 'normal', + }, + { + name: 'Aeonik Regular', + data: fs.readFileSync( + path.resolve(__dirname, '../static/fonts/Aeonik-Regular.otf') + ), + style: 'normal', + }, + ], + } + ).body + ); +} From 54600cb2e5df64ba87210b803565cf5b91d02d92 Mon Sep 17 00:00:00 2001 From: Marek Kotarba Date: Fri, 19 Apr 2024 10:15:45 +0200 Subject: [PATCH 4/8] removing unused parameters in func --- docs/scripts/build-og-images.jsx | 3 +-- docs/scripts/og-image-stream.jsx | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/scripts/build-og-images.jsx b/docs/scripts/build-og-images.jsx index 35bf371bda..01f4f0a0a7 100644 --- a/docs/scripts/build-og-images.jsx +++ b/docs/scripts/build-og-images.jsx @@ -138,8 +138,7 @@ const buildOGImages = async () => { const ogImageStream = await OGImageStream( header, - base64Image, - targetDocs + base64Image ); await saveStreamToFile( diff --git a/docs/scripts/og-image-stream.jsx b/docs/scripts/og-image-stream.jsx index 9cfaff243a..e736465279 100644 --- a/docs/scripts/og-image-stream.jsx +++ b/docs/scripts/og-image-stream.jsx @@ -3,7 +3,7 @@ import path from 'path'; import { ImageResponse } from '@vercel/og'; import fs from 'fs'; -export default async function OGImageStream(header, base64Image, targetDocs) { +export default async function OGImageStream(header, base64Image) { return ( new ImageResponse( ( From a294ee1d773d194fccd2d198186a307d0c7f4032 Mon Sep 17 00:00:00 2001 From: Marek Kotarba Date: Fri, 19 Apr 2024 11:08:43 +0200 Subject: [PATCH 5/8] changing variable names --- docs/scripts/build-og-images.jsx | 40 ++++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/docs/scripts/build-og-images.jsx b/docs/scripts/build-og-images.jsx index 01f4f0a0a7..59a2345f48 100644 --- a/docs/scripts/build-og-images.jsx +++ b/docs/scripts/build-og-images.jsx @@ -58,36 +58,36 @@ async function saveStreamToFile(stream, path) { await promisify(pipeline)(stream, writeStream); } -const formatFilesInDoc = async (dir, files, baseDocsPath) => { +const formatFilesInDoc = async (dir, files, baseDirPath) => { return await Promise.all( files.map(async (file) => ({ file, isDirectory: ( - await fs.promises.lstat(path.resolve(baseDocsPath, dir, file)) + await fs.promises.lstat(path.resolve(baseDirPath, dir, file)) ).isDirectory(), isMarkdown: file.endsWith('.md') || file.endsWith('.mdx'), })) ); }; -const formatDocInDocs = async (dir, baseDocsPath) => { - const files = await fs.promises.readdir(path.resolve(baseDocsPath, dir)); +const formatDocInDocs = async (dir, baseDirPath) => { + const files = await fs.promises.readdir(path.resolve(baseDirPath, dir)); return { dir, - files: (await formatFilesInDoc(dir, files, baseDocsPath)).filter( + files: (await formatFilesInDoc(dir, files, baseDirPath)).filter( ({ isDirectory, isMarkdown }) => isDirectory || isMarkdown ), }; }; -const extractSubFiles = async (dir, files, baseDocsPath) => { +const extractSubFiles = async (dir, files, baseDirPath) => { return ( await Promise.all( files.map(async (file) => { if (!file.isDirectory) return file.file; const subFiles = ( - await fs.promises.readdir(path.resolve(baseDocsPath, dir, file.file)) + await fs.promises.readdir(path.resolve(baseDirPath, dir, file.file)) ).filter((file) => file.endsWith('.md') || file.endsWith('.mdx')); return subFiles.map((subFile) => `${file.file}/${subFile}`); @@ -96,35 +96,35 @@ const extractSubFiles = async (dir, files, baseDocsPath) => { ).flat(); }; -const getDocs = async (baseDocsPath) => { +const getDocs = async (baseDirPath) => { let docs = await Promise.all( ( - await fs.promises.readdir(baseDocsPath) - ).map(async (dir) => formatDocInDocs(dir, baseDocsPath)) + await fs.promises.readdir(baseDirPath) + ).map(async (dir) => formatDocInDocs(dir, baseDirPath)) ); docs = await Promise.all( docs.map(async ({ dir, files }) => ({ dir, - files: await extractSubFiles(dir, files, baseDocsPath), + files: await extractSubFiles(dir, files, baseDirPath), })) ); return docs; }; -const buildOGImages = async () => { - const baseDocsPath = path.resolve(__dirname, '../docs'); +async function buildOGImages() { + const baseDirPath = path.resolve(__dirname, '../docs'); - const docs = await getDocs(baseDocsPath); + const docs = await getDocs(baseDirPath); - const targetDocs = path.resolve(__dirname, '../build/img/og'); + const ogImageTargets = path.resolve(__dirname, '../build/img/og'); - if (fs.existsSync(targetDocs)) { - fs.rmSync(targetDocs, { recursive: true }); + if (fs.existsSync(ogImageTargets)) { + fs.rmSync(ogImageTargets, { recursive: true }); } - fs.mkdirSync(targetDocs, { recursive: true }); + fs.mkdirSync(ogImageTargets, { recursive: true }); console.log('Generating OG images for docs...'); @@ -134,7 +134,7 @@ const buildOGImages = async () => { docs.map(async ({ dir, files }) => { files.map(async (file) => { - const header = getMarkdownHeader(path.resolve(baseDocsPath, dir, file)); + const header = getMarkdownHeader(path.resolve(baseDirPath, dir, file)); const ogImageStream = await OGImageStream( header, @@ -143,7 +143,7 @@ const buildOGImages = async () => { await saveStreamToFile( ogImageStream, - path.resolve(targetDocs, formatHeaderToFilename(header)) + path.resolve(ogImageTargets, formatHeaderToFilename(header)) ); }); }); From 9047c424a238496fa89cca61bdab3efb0bf84497 Mon Sep 17 00:00:00 2001 From: Marek Kotarba Date: Fri, 19 Apr 2024 11:10:17 +0200 Subject: [PATCH 6/8] lint --- docs/scripts/build-og-images.jsx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/docs/scripts/build-og-images.jsx b/docs/scripts/build-og-images.jsx index 59a2345f48..dd5eefd573 100644 --- a/docs/scripts/build-og-images.jsx +++ b/docs/scripts/build-og-images.jsx @@ -136,10 +136,7 @@ async function buildOGImages() { files.map(async (file) => { const header = getMarkdownHeader(path.resolve(baseDirPath, dir, file)); - const ogImageStream = await OGImageStream( - header, - base64Image - ); + const ogImageStream = await OGImageStream(header, base64Image); await saveStreamToFile( ogImageStream, @@ -147,6 +144,6 @@ async function buildOGImages() { ); }); }); -}; +} buildOGImages(); From 1870bccb388e9a91a12aa5e1c18b3dfcb87a957c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20Kapu=C5=9Bciak?= <39658211+kacperkapusciak@users.noreply.github.com> Date: Fri, 26 Apr 2024 12:35:40 +0200 Subject: [PATCH 7/8] Update generated og image path --- docs/src/theme/DocItem/Metadata/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/theme/DocItem/Metadata/index.js b/docs/src/theme/DocItem/Metadata/index.js index 3031082104..f5191bf179 100644 --- a/docs/src/theme/DocItem/Metadata/index.js +++ b/docs/src/theme/DocItem/Metadata/index.js @@ -17,7 +17,7 @@ export default function DocItemMetadata() { title={metadata.title} description={metadata.description} keywords={frontMatter.keywords} - image={`docs/og/${ + image={`docs/img/og/${ ogImage === '' || !ogImage ? 'React Native Reanimated' : ogImage }.png`} /> From 72b496f30f1472bf5aa86c76e30bb782c8cabfac Mon Sep 17 00:00:00 2001 From: kacperkapusciak Date: Fri, 26 Apr 2024 13:04:33 +0200 Subject: [PATCH 8/8] Fix og:image path & simplify --- docs/src/theme/DocItem/Metadata/index.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/src/theme/DocItem/Metadata/index.js b/docs/src/theme/DocItem/Metadata/index.js index f5191bf179..593c504ad9 100644 --- a/docs/src/theme/DocItem/Metadata/index.js +++ b/docs/src/theme/DocItem/Metadata/index.js @@ -2,11 +2,11 @@ import React from 'react'; import { PageMetadata } from '@docusaurus/theme-common'; import { useDoc } from '@docusaurus/theme-common/internal'; export default function DocItemMetadata() { - const { metadata, frontMatter, assets } = useDoc(); + const { metadata, frontMatter } = useDoc(); if (!metadata) return null; - const ogImage = metadata.title + const ogImageName = metadata.title .replace(/[ /]/g, '-') .replace(/`/g, '') .replace(/:/g, '') @@ -17,9 +17,7 @@ export default function DocItemMetadata() { title={metadata.title} description={metadata.description} keywords={frontMatter.keywords} - image={`docs/img/og/${ - ogImage === '' || !ogImage ? 'React Native Reanimated' : ogImage - }.png`} + image={`img/og/${ogImageName}.png`} /> ); }