diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 0a50c47..204d07c 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -31,6 +31,7 @@ module.exports = { }, rules: { 'no-undef': ['warn'], + 'import/no-mutable-exports': 'off', }, }, { diff --git a/.lintstagedrc b/.lintstagedrc new file mode 100644 index 0000000..c4d0a50 --- /dev/null +++ b/.lintstagedrc @@ -0,0 +1,4 @@ +{ + "gitDir": "./.git", + "*": "eslint --fix" +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..f54b539 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "prettier.enable": false, + "editor.formatOnSave": false, + "editor.codeActionsOnSave": { + "source.fixAll.eslint": true + }, + "unocss.root": "apps/www" +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..91bdb58 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +![](https://mdnow.vercel.app/api.svg) diff --git a/apps/www/.eslintignore b/apps/www/.eslintignore index 7c1958c..c191179 100644 --- a/apps/www/.eslintignore +++ b/apps/www/.eslintignore @@ -1,3 +1,5 @@ /src/lib/components.d.ts /src/lib/imports.d.ts /.eslint-auto-import.json +*.woff +*.woff2 diff --git a/apps/www/.lintstagedrc b/apps/www/.lintstagedrc new file mode 100644 index 0000000..c768074 --- /dev/null +++ b/apps/www/.lintstagedrc @@ -0,0 +1,4 @@ +{ + "gitDir": "../../.git", + "*": "eslint --fix" +} diff --git a/apps/www/package.json b/apps/www/package.json index 91ee886..ef6360b 100644 --- a/apps/www/package.json +++ b/apps/www/package.json @@ -18,7 +18,6 @@ }, "devDependencies": { "@fontsource-variable/fira-code": "^5.0.3", - "@fontsource-variable/inter": "^5.0.3", "@iconify-json/solar": "^1.1.1", "@iconify-json/svg-spinners": "^1.1.1", "@iconify/types": "^2.0.0", @@ -29,12 +28,14 @@ "@typescript-eslint/eslint-plugin": "^5.59.11", "@typescript-eslint/parser": "^5.59.11", "@unocss/extractor-svelte": "^0.52.7", - "cal-sans": "^1.0.1", "mdsvex": "^0.10.6", "rehype-external-links": "^2.1.0", "sass": "^1.63.4", + "satori": "^0.10.1", + "satori-html": "^0.3.2", "svelte": "^3.59.1", "svelte-check": "^3.4.3", + "svelte-preprocess": "^5.0.4", "tslib": "^2.5.3", "typescript": "^5.1.3", "unocss": "^0.52.7", diff --git a/apps/www/src/app.css b/apps/www/src/app.css new file mode 100644 index 0000000..81106f2 --- /dev/null +++ b/apps/www/src/app.css @@ -0,0 +1,11 @@ +@font-face { + font-family: "Mona Sans"; + src: url("$lib/assets/Mona-Sans.woff2") format("woff2 supports variations"), + url("$lib/assets/Mona-Sans.woff2") format("woff2-variations"); + font-weight: 200 900; + font-stretch: 75% 125%; +} + +html { + font-family: "Mona Sans"; +} diff --git a/apps/www/src/app.html b/apps/www/src/app.html index effe0d0..979e324 100644 --- a/apps/www/src/app.html +++ b/apps/www/src/app.html @@ -6,7 +6,7 @@ %sveltekit.head% - +
%sveltekit.body%
diff --git a/apps/www/src/lib/assets/Mona-Sans-Regular.woff b/apps/www/src/lib/assets/Mona-Sans-Regular.woff new file mode 100644 index 0000000..d31c6ed Binary files /dev/null and b/apps/www/src/lib/assets/Mona-Sans-Regular.woff differ diff --git a/apps/www/src/lib/assets/Mona-Sans-SemiBold.woff b/apps/www/src/lib/assets/Mona-Sans-SemiBold.woff new file mode 100644 index 0000000..b57fb15 Binary files /dev/null and b/apps/www/src/lib/assets/Mona-Sans-SemiBold.woff differ diff --git a/apps/www/src/lib/assets/Mona-Sans.woff2 b/apps/www/src/lib/assets/Mona-Sans.woff2 new file mode 100644 index 0000000..8208a50 Binary files /dev/null and b/apps/www/src/lib/assets/Mona-Sans.woff2 differ diff --git a/apps/www/src/routes/+layout.svelte b/apps/www/src/routes/+layout.svelte new file mode 100644 index 0000000..2805c76 --- /dev/null +++ b/apps/www/src/routes/+layout.svelte @@ -0,0 +1,9 @@ + + +
+ +
diff --git a/apps/www/src/routes/+page.svelte b/apps/www/src/routes/+page.svelte index bcc8a9f..12fee3d 100644 --- a/apps/www/src/routes/+page.svelte +++ b/apps/www/src/routes/+page.svelte @@ -1,6 +1,28 @@ - -

Welcome to SvelteKit

-

Visit kit.svelte.dev to read the documentation

+
+
+ + {@html data.banner} +
+
+ + {@html data.banner} +
+
+ + {@html data.banner} +
+
+ + {@html data.banner} +
+
+ + {@html data.banner} +
+
diff --git a/apps/www/src/routes/+page.ts b/apps/www/src/routes/+page.ts new file mode 100644 index 0000000..472c77b --- /dev/null +++ b/apps/www/src/routes/+page.ts @@ -0,0 +1,6 @@ +import type { PageLoad } from './$types'; + +export const load = (async ({ fetch }): Promise<{ banner: string }> => { + const banner = await (await fetch('/api.svg')).text(); + return { banner }; +}) satisfies PageLoad; diff --git a/apps/www/src/routes/api.svg/+server.ts b/apps/www/src/routes/api.svg/+server.ts new file mode 100644 index 0000000..da95891 --- /dev/null +++ b/apps/www/src/routes/api.svg/+server.ts @@ -0,0 +1,36 @@ +import type { RequestHandler } from '@sveltejs/kit'; +import satori from 'satori'; +import { html as satoriHtml } from 'satori-html'; +import Banner from './Banner.html?raw'; +import font400 from '$lib/assets/Mona-Sans-Regular.woff?url'; +import font600 from '$lib/assets/Mona-Sans-SemiBold.woff?url'; + +export const GET = (async ({ fetch }): Promise => { + const html = satoriHtml(Banner); + + const banner = await satori(html, + { + width: 1000, + height: 180, + fonts: [ + { + name: 'Mona Sans', + weight: 400, + style: 'normal', + data: await (await fetch(font400)).arrayBuffer(), + }, + { + name: 'Mona Sans', + weight: 600, + style: 'normal', + data: await (await fetch(font600)).arrayBuffer(), + }], + }); + + return new Response(banner, { + status: 200, + headers: { + 'Content-type': 'image/svg+xml', + }, + }); +}) satisfies RequestHandler; diff --git a/apps/www/src/routes/api.svg/Banner.html b/apps/www/src/routes/api.svg/Banner.html new file mode 100644 index 0000000..a0066b4 --- /dev/null +++ b/apps/www/src/routes/api.svg/Banner.html @@ -0,0 +1,48 @@ +
+
+
+ + + + + + +
+
+
+

Marknow

+ + Create beautiful markdown for your projects with ease + +
+
+
+
diff --git a/apps/www/svelte.config.js b/apps/www/svelte.config.js index 754bf00..410e9d2 100644 --- a/apps/www/svelte.config.js +++ b/apps/www/svelte.config.js @@ -1,19 +1,19 @@ import adapter from '@sveltejs/adapter-vercel'; -import { vitePreprocess } from '@sveltejs/kit/vite'; +import sveltePreprocess from 'svelte-preprocess'; import { mdsvex } from 'mdsvex'; import rhExternalLinks from 'rehype-external-links'; /** @type {import('@sveltejs/kit').Config} */ const config = { extensions: ['.svelte', '.svx', '.md'], - preprocess: [vitePreprocess(), mdsvex({ + preprocess: [sveltePreprocess(), mdsvex({ rehypePlugins: [ [rhExternalLinks, { target: '_blank', rel: ['nofollow', 'noopener', 'noreferrer'], }], ], - extensions: ['.svelte', '.svx', '.md'], + extensions: ['.svx', '.md'], })], kit: { adapter: adapter(), diff --git a/apps/www/unocss.config.ts b/apps/www/unocss.config.ts index 1cd7d33..a3b8bc7 100644 --- a/apps/www/unocss.config.ts +++ b/apps/www/unocss.config.ts @@ -36,17 +36,13 @@ export default defineConfig({ presetWebFonts({ fonts: { sans: { - name: 'Inter', + name: 'Mona Sans', provider: 'none', }, code: { name: 'Fira Code', provider: 'none', }, - cal: { - name: 'Cal Sans', - provider: 'none', - }, }, }), // @ts-expect-error It seems that this preset diff --git a/apps/www/vite.config.ts b/apps/www/vite.config.ts index 6062f69..ef39c44 100644 --- a/apps/www/vite.config.ts +++ b/apps/www/vite.config.ts @@ -14,8 +14,7 @@ export default defineConfig({ plugins: [ SvelteImport({ include: [ - /\.svelte/, - /\.svelte\?svelte/, + /\.svelte$/, ], external: [ ...findPathsByExtension(path.join(__dirname, 'src'), '.svx').map((filePath) => { @@ -47,21 +46,18 @@ export default defineConfig({ }), ], dirs: [ - './src/**/*', + './src/lib', ], importPathTransform: (importPath) => { if (path.extname(importPath) === '.svg') return `${importPath}?component`; - if (getFileName(importPath).startsWith('+')) - return ''; else return importPath; }, dts: './src/lib/components.d.ts', }), AutoImport({ include: [ - /\.svelte/, - /\.svelte\?svelte/, + /\.svelte$/, /.[tj]sx?$/, ], imports: [ diff --git a/package.json b/package.json index 62f4f10..24f5674 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "marknow", - "version": "1.0.0", + "version": "0.0.0", "packageManager": "pnpm@8.0.0", "description": "", "author": "", @@ -25,8 +25,5 @@ "husky": "^8.0.3", "turbo": "^1.10.3", "vercel": "^30.2.2" - }, - "lint-staged": { - "*": "eslint --fix" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 07738fd..5448cc4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,9 +41,6 @@ importers: '@fontsource-variable/fira-code': specifier: ^5.0.3 version: 5.0.3 - '@fontsource-variable/inter': - specifier: ^5.0.3 - version: 5.0.3 '@iconify-json/solar': specifier: ^1.1.1 version: 1.1.1 @@ -74,9 +71,6 @@ importers: '@unocss/extractor-svelte': specifier: ^0.52.7 version: 0.52.7 - cal-sans: - specifier: ^1.0.1 - version: 1.0.1 mdsvex: specifier: ^0.10.6 version: 0.10.6(svelte@3.59.1) @@ -86,12 +80,21 @@ importers: sass: specifier: ^1.63.4 version: 1.63.4 + satori: + specifier: ^0.10.1 + version: 0.10.1 + satori-html: + specifier: ^0.3.2 + version: 0.3.2 svelte: specifier: ^3.59.1 version: 3.59.1 svelte-check: specifier: ^3.4.3 - version: 3.4.3(@babel/core@7.22.5)(postcss@8.4.24)(sass@1.63.4)(svelte@3.59.1) + version: 3.4.3(postcss@8.4.24)(sass@1.63.4)(svelte@3.59.1) + svelte-preprocess: + specifier: ^5.0.4 + version: 5.0.4(postcss@8.4.24)(sass@1.63.4)(svelte@3.59.1)(typescript@5.1.3) tslib: specifier: ^2.5.3 version: 2.5.3 @@ -115,7 +118,7 @@ importers: version: 0.2.8 vite: specifier: ^4.3.9 - version: 4.3.9(@types/node@14.18.33)(sass@1.63.4) + version: 4.3.9(sass@1.63.4) packages: @@ -1995,10 +1998,6 @@ packages: resolution: {integrity: sha512-OfishGTVN3fUM8M27P0NYV4UvugpLigP8DjMHnG9kars9ZRbRPTnfW4lGJELGCXFf6IQVJ2uRyjUKWNIx/Sd2w==} dev: true - /@fontsource-variable/inter@5.0.3: - resolution: {integrity: sha512-AIE1Lm2/cNkCD4oAJ3JVY54tGhlUS7NnAiqGmE045v+7XHqmUhSYjhQNUgnBGcenth4bN75l+KIeTDbcGc7Emw==} - dev: true - /@gar/promisify@1.1.3: resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} dev: true @@ -2176,7 +2175,7 @@ packages: dependencies: svelte: 3.59.1 svgo: 3.0.2 - vite: 4.3.9(@types/node@14.18.33)(sass@1.63.4) + vite: 4.3.9(sass@1.63.4) dev: true /@radix-ui/colors@0.1.8: @@ -2221,6 +2220,15 @@ packages: picomatch: 2.3.1 dev: true + /@shuding/opentype.js@1.4.0-beta.0: + resolution: {integrity: sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + fflate: 0.7.4 + string.prototype.codepointat: 0.2.1 + dev: true + /@sinclair/typebox@0.25.24: resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} dev: true @@ -2266,7 +2274,7 @@ packages: svelte: 3.59.1 tiny-glob: 0.2.9 undici: 5.22.1 - vite: 4.3.9(@types/node@14.18.33)(sass@1.63.4) + vite: 4.3.9(sass@1.63.4) transitivePeerDependencies: - supports-color dev: true @@ -2282,7 +2290,7 @@ packages: '@sveltejs/vite-plugin-svelte': 2.4.1(svelte@3.59.1)(vite@4.3.9) debug: 4.3.4 svelte: 3.59.1 - vite: 4.3.9(@types/node@14.18.33)(sass@1.63.4) + vite: 4.3.9(sass@1.63.4) transitivePeerDependencies: - supports-color dev: true @@ -2301,7 +2309,7 @@ packages: magic-string: 0.30.0 svelte: 3.59.1 svelte-hmr: 0.15.2(svelte@3.59.1) - vite: 4.3.9(@types/node@14.18.33)(sass@1.63.4) + vite: 4.3.9(sass@1.63.4) vitefu: 0.2.4(vite@4.3.9) transitivePeerDependencies: - supports-color @@ -2808,7 +2816,7 @@ packages: chokidar: 3.5.3 fast-glob: 3.2.12 magic-string: 0.30.0 - vite: 4.3.9(@types/node@14.18.33)(sass@1.63.4) + vite: 4.3.9(sass@1.63.4) transitivePeerDependencies: - rollup dev: true @@ -3404,6 +3412,11 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true + /base64-js@0.0.8: + resolution: {integrity: sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==} + engines: {node: '>= 0.4'} + dev: true + /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true @@ -3579,10 +3592,6 @@ packages: responselike: 2.0.1 dev: true - /cal-sans@1.0.1: - resolution: {integrity: sha512-XwN3/7jez8WmFVcNnNqO2K9lh133KiIcURCyGFnSM+ZmNZ8zIcOTNfr3SpenLAkRceYsq+fQNX/PL4C1rIkEPQ==} - dev: true - /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: @@ -3595,6 +3604,10 @@ packages: engines: {node: '>=6'} dev: true + /camelize@1.0.1: + resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} + dev: true + /caniuse-lite@1.0.30001503: resolution: {integrity: sha512-Sf9NiF+wZxPfzv8Z3iS0rXM1Do+iOy2Lxvib38glFX+08TCYYYGR5fRJXk4d77C4AYwhUjgYgMsMudbh2TqCKw==} dev: true @@ -3853,6 +3866,19 @@ packages: which: 2.0.2 dev: true + /css-background-parser@0.1.0: + resolution: {integrity: sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==} + dev: true + + /css-box-shadow@1.0.0-3: + resolution: {integrity: sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg==} + dev: true + + /css-color-keywords@1.0.0: + resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} + engines: {node: '>=4'} + dev: true + /css-select@5.1.0: resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} dependencies: @@ -3863,6 +3889,14 @@ packages: nth-check: 2.1.1 dev: true + /css-to-react-native@3.2.0: + resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} + dependencies: + camelize: 1.0.1 + css-color-keywords: 1.0.0 + postcss-value-parser: 4.2.0 + dev: true + /css-tree@2.2.1: resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} @@ -4163,6 +4197,10 @@ packages: resolution: {integrity: sha512-m232JTVmCawA2vG+1azVxhKZ9Sv1Q//xxNv5PkP5rWxGgQE8c3CiZFrh8Xnp+d1NmNxlu3QQrGIfdeW5TtXX5w==} dev: true + /emoji-regex@10.2.1: + resolution: {integrity: sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==} + dev: true + /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true @@ -5170,6 +5208,10 @@ packages: format: 0.2.2 dev: true + /fflate@0.7.4: + resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==} + dev: true + /figures@3.2.0: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} @@ -5640,6 +5682,11 @@ packages: resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} dev: true + /hex-rgb@4.3.0: + resolution: {integrity: sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==} + engines: {node: '>=6'} + dev: true + /hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true @@ -6223,6 +6270,13 @@ packages: engines: {node: '>=10'} dev: true + /linebreak@1.1.0: + resolution: {integrity: sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==} + dependencies: + base64-js: 0.0.8 + unicode-trie: 2.0.0 + dev: true + /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true @@ -6329,7 +6383,7 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.1.1 + semver: 6.3.0 dev: true /make-error@1.3.6: @@ -7280,6 +7334,13 @@ packages: callsites: 3.1.0 dev: true + /parse-css-color@0.2.1: + resolution: {integrity: sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg==} + dependencies: + color-name: 1.1.4 + hex-rgb: 4.3.0 + dev: true + /parse-entities@2.0.0: resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} dependencies: @@ -8019,6 +8080,28 @@ packages: source-map-js: 1.0.2 dev: true + /satori-html@0.3.2: + resolution: {integrity: sha512-wjTh14iqADFKDK80e51/98MplTGfxz2RmIzh0GqShlf4a67+BooLywF17TvJPD6phO0Hxm7Mf1N5LtRYvdkYRA==} + dependencies: + ultrahtml: 1.2.0 + dev: true + + /satori@0.10.1: + resolution: {integrity: sha512-F4bTCkDp931tLb7+UCNPBuSQwXhikrUkI4fBQo6fA8lF0Evqqgg3nDyUpRktQpR5Ry1DIiIVqLyEwkAms87ykg==} + engines: {node: '>=16'} + 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.2.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 + dev: true + /scule@1.0.0: resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==} dev: true @@ -8269,6 +8352,10 @@ packages: strip-ansi: 6.0.1 dev: true + /string.prototype.codepointat@0.2.1: + resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==} + dev: true + /string.prototype.trim@1.2.7: resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} engines: {node: '>= 0.4'} @@ -8377,7 +8464,7 @@ packages: engines: {node: '>= 0.4'} dev: true - /svelte-check@3.4.3(@babel/core@7.22.5)(postcss@8.4.24)(sass@1.63.4)(svelte@3.59.1): + /svelte-check@3.4.3(postcss@8.4.24)(sass@1.63.4)(svelte@3.59.1): resolution: {integrity: sha512-O07soQFY3X0VDt+bcGc6D5naz0cLtjwnmNP9JsEBPVyMemFEqUhL2OdLqvkl5H/u8Jwm50EiAU4BPRn5iin/kg==} hasBin: true peerDependencies: @@ -8390,7 +8477,7 @@ packages: picocolors: 1.0.0 sade: 1.8.1 svelte: 3.59.1 - svelte-preprocess: 5.0.4(@babel/core@7.22.5)(postcss@8.4.24)(sass@1.63.4)(svelte@3.59.1)(typescript@5.1.3) + svelte-preprocess: 5.0.4(postcss@8.4.24)(sass@1.63.4)(svelte@3.59.1)(typescript@5.1.3) typescript: 5.1.3 transitivePeerDependencies: - '@babel/core' @@ -8427,7 +8514,7 @@ packages: svelte: 3.59.1 dev: true - /svelte-preprocess@5.0.4(@babel/core@7.22.5)(postcss@8.4.24)(sass@1.63.4)(svelte@3.59.1)(typescript@5.1.3): + /svelte-preprocess@5.0.4(postcss@8.4.24)(sass@1.63.4)(svelte@3.59.1)(typescript@5.1.3): resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==} engines: {node: '>= 14.10.0'} requiresBuild: true @@ -8465,7 +8552,6 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.22.5 '@types/pug': 2.0.6 detect-indent: 6.1.0 magic-string: 0.27.0 @@ -8556,6 +8642,10 @@ packages: globrex: 0.1.2 dev: true + /tiny-inflate@1.0.3: + resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} + dev: true + /tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -8802,6 +8892,10 @@ packages: resolution: {integrity: sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==} dev: true + /ultrahtml@1.2.0: + resolution: {integrity: sha512-vxZM2yNvajRmCj/SknRYGNXk2tqiy6kRNvZjJLaleG3zJbSh/aNkOqD1/CVzypw8tyHyhpzYuwQgMMhUB4ZVNQ==} + dev: true + /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -8849,6 +8943,13 @@ packages: engines: {node: '>=4'} dev: true + /unicode-trie@2.0.0: + resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} + dependencies: + pako: 0.2.9 + tiny-inflate: 1.0.3 + dev: true + /unified@10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} dependencies: @@ -9236,6 +9337,39 @@ packages: fsevents: 2.3.2 dev: true + /vite@4.3.9(sass@1.63.4): + resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.17.19 + postcss: 8.4.24 + rollup: 3.25.1 + sass: 1.63.4 + optionalDependencies: + fsevents: 2.3.2 + dev: true + /vitefu@0.2.4(vite@4.3.9): resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} peerDependencies: @@ -9244,7 +9378,7 @@ packages: vite: optional: true dependencies: - vite: 4.3.9(@types/node@14.18.33)(sass@1.63.4) + vite: 4.3.9(sass@1.63.4) dev: true /vm2@3.9.19: @@ -9465,6 +9599,10 @@ packages: engines: {node: '>=10'} dev: true + /yoga-wasm-web@0.3.3: + resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} + dev: true + /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} dev: true