From a86e79d6525fa015adcb4b284468011a77be5d1b Mon Sep 17 00:00:00 2001 From: zack Date: Sat, 26 Oct 2024 21:51:02 -0400 Subject: [PATCH] update previews --- assets/node-packages.nix | 1834 ++++++++++++++++- .../live/gist_live/og_image.ex | 93 +- 2 files changed, 1896 insertions(+), 31 deletions(-) diff --git a/assets/node-packages.nix b/assets/node-packages.nix index b8e14c8..6137153 100644 --- a/assets/node-packages.nix +++ b/assets/node-packages.nix @@ -3,17 +3,1847 @@ {nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}: let - sources = {}; + sources = { + "@alloc/quick-lru-5.2.0" = { + name = "_at_alloc_slash_quick-lru"; + packageName = "@alloc/quick-lru"; + version = "5.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz"; + sha512 = "UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="; + }; + }; + "@catppuccin/tailwindcss-0.1.6" = { + name = "_at_catppuccin_slash_tailwindcss"; + packageName = "@catppuccin/tailwindcss"; + version = "0.1.6"; + src = fetchurl { + url = "https://registry.npmjs.org/@catppuccin/tailwindcss/-/tailwindcss-0.1.6.tgz"; + sha512 = "V+Y0AwZ5SSyvOVAcDl7Ng30xy+m82OKnEJ+9+kcZZ7lRyXuZrAb2GScdq9XR3v+ggt8qiZ/G4TvaC9cJ88AAXA=="; + }; + }; + "@cspotcode/source-map-support-0.8.1" = { + name = "_at_cspotcode_slash_source-map-support"; + packageName = "@cspotcode/source-map-support"; + version = "0.8.1"; + src = fetchurl { + url = "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz"; + sha512 = "IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw=="; + }; + }; + "@esbuild/linux-x64-0.24.0" = { + name = "_at_esbuild_slash_linux-x64"; + packageName = "@esbuild/linux-x64"; + version = "0.24.0"; + src = fetchurl { + url = "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz"; + sha512 = "vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA=="; + }; + }; + "@isaacs/cliui-8.0.2" = { + name = "_at_isaacs_slash_cliui"; + packageName = "@isaacs/cliui"; + version = "8.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz"; + sha512 = "O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="; + }; + }; + "@jridgewell/gen-mapping-0.3.5" = { + name = "_at_jridgewell_slash_gen-mapping"; + packageName = "@jridgewell/gen-mapping"; + version = "0.3.5"; + src = fetchurl { + url = "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz"; + sha512 = "IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg=="; + }; + }; + "@jridgewell/resolve-uri-3.1.2" = { + name = "_at_jridgewell_slash_resolve-uri"; + packageName = "@jridgewell/resolve-uri"; + version = "3.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz"; + sha512 = "bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="; + }; + }; + "@jridgewell/set-array-1.2.1" = { + name = "_at_jridgewell_slash_set-array"; + packageName = "@jridgewell/set-array"; + version = "1.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz"; + sha512 = "R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A=="; + }; + }; + "@jridgewell/sourcemap-codec-1.5.0" = { + name = "_at_jridgewell_slash_sourcemap-codec"; + packageName = "@jridgewell/sourcemap-codec"; + version = "1.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz"; + sha512 = "gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="; + }; + }; + "@jridgewell/trace-mapping-0.3.25" = { + name = "_at_jridgewell_slash_trace-mapping"; + packageName = "@jridgewell/trace-mapping"; + version = "0.3.25"; + src = fetchurl { + url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz"; + sha512 = "vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ=="; + }; + }; + "@jridgewell/trace-mapping-0.3.9" = { + name = "_at_jridgewell_slash_trace-mapping"; + packageName = "@jridgewell/trace-mapping"; + version = "0.3.9"; + src = fetchurl { + url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz"; + sha512 = "3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ=="; + }; + }; + "@nodelib/fs.scandir-2.1.5" = { + name = "_at_nodelib_slash_fs.scandir"; + packageName = "@nodelib/fs.scandir"; + version = "2.1.5"; + src = fetchurl { + url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"; + sha512 = "vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="; + }; + }; + "@nodelib/fs.stat-2.0.5" = { + name = "_at_nodelib_slash_fs.stat"; + packageName = "@nodelib/fs.stat"; + version = "2.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"; + sha512 = "RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="; + }; + }; + "@nodelib/fs.walk-1.2.8" = { + name = "_at_nodelib_slash_fs.walk"; + packageName = "@nodelib/fs.walk"; + version = "1.2.8"; + src = fetchurl { + url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz"; + sha512 = "oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="; + }; + }; + "@shikijs/core-1.22.1" = { + name = "_at_shikijs_slash_core"; + packageName = "@shikijs/core"; + version = "1.22.1"; + src = fetchurl { + url = "https://registry.npmjs.org/@shikijs/core/-/core-1.22.1.tgz"; + sha512 = "bqAhT/Ri5ixV4oYsvJNH8UJjpjbINWlWyXY6tBTsP4OmD6XnFv43nRJ+lTdxd2rmG5pgam/x+zGR6kLRXrpEKA=="; + }; + }; + "@shikijs/engine-javascript-1.22.1" = { + name = "_at_shikijs_slash_engine-javascript"; + packageName = "@shikijs/engine-javascript"; + version = "1.22.1"; + src = fetchurl { + url = "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.22.1.tgz"; + sha512 = "540pyoy0LWe4jj2BVbgELwOFu1uFvRI7lg4hdsExrSXA9x7gqfzZ/Nnh4RfX86aDAgJ647gx4TCmRwACbnQSvw=="; + }; + }; + "@shikijs/engine-oniguruma-1.22.1" = { + name = "_at_shikijs_slash_engine-oniguruma"; + packageName = "@shikijs/engine-oniguruma"; + version = "1.22.1"; + src = fetchurl { + url = "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.22.1.tgz"; + sha512 = "L+1Vmd+a2kk8HtogUFymQS6BjUfJnzcWoUp1BUgxoDiklbKSMvrsMuLZGevTOP1m0rEjgnC5MsDmsr8lX1lC+Q=="; + }; + }; + "@shikijs/types-1.22.1" = { + name = "_at_shikijs_slash_types"; + packageName = "@shikijs/types"; + version = "1.22.1"; + src = fetchurl { + url = "https://registry.npmjs.org/@shikijs/types/-/types-1.22.1.tgz"; + sha512 = "+45f8mu/Hxqs6Kyhfm98Nld5n7Q7lwhjU8UtdQwrOPs7BnM4VAb929O3IQ2ce+4D7SlNFlZGd8CnKRSnwbQreQ=="; + }; + }; + "@shikijs/vscode-textmate-9.3.0" = { + name = "_at_shikijs_slash_vscode-textmate"; + packageName = "@shikijs/vscode-textmate"; + version = "9.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-9.3.0.tgz"; + sha512 = "jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA=="; + }; + }; + "@swc/core-1.7.40" = { + name = "_at_swc_slash_core"; + packageName = "@swc/core"; + version = "1.7.40"; + src = fetchurl { + url = "https://registry.npmjs.org/@swc/core/-/core-1.7.40.tgz"; + sha512 = "0HIzM5vigVT5IvNum+pPuST9p8xFhN6mhdIKju7qYYeNuZG78lwms/2d8WgjTJJlzp6JlPguXGrMMNzjQw0qNg=="; + }; + }; + "@swc/counter-0.1.3" = { + name = "_at_swc_slash_counter"; + packageName = "@swc/counter"; + version = "0.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz"; + sha512 = "e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ=="; + }; + }; + "@swc/helpers-0.5.13" = { + name = "_at_swc_slash_helpers"; + packageName = "@swc/helpers"; + version = "0.5.13"; + src = fetchurl { + url = "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.13.tgz"; + sha512 = "UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w=="; + }; + }; + "@swc/types-0.1.13" = { + name = "_at_swc_slash_types"; + packageName = "@swc/types"; + version = "0.1.13"; + src = fetchurl { + url = "https://registry.npmjs.org/@swc/types/-/types-0.1.13.tgz"; + sha512 = "JL7eeCk6zWCbiYQg2xQSdLXQJl8Qoc9rXmG2cEKvHe3CKwMHwHGpfOb8frzNLmbycOo6I51qxnLnn9ESf4I20Q=="; + }; + }; + "@swc/wasm-1.7.40" = { + name = "_at_swc_slash_wasm"; + packageName = "@swc/wasm"; + version = "1.7.40"; + src = fetchurl { + url = "https://registry.npmjs.org/@swc/wasm/-/wasm-1.7.40.tgz"; + sha512 = "Qz7kpC9hMnHPp3fwDZldO/ZzcM/fyBW3Zbzv1m5EtvUpdKS/CAWMpGL2/AMEfM0k4gHHzI23IQcOueUYLnufQQ=="; + }; + }; + "@tailwindcss/forms-0.5.9" = { + name = "_at_tailwindcss_slash_forms"; + packageName = "@tailwindcss/forms"; + version = "0.5.9"; + src = fetchurl { + url = "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.9.tgz"; + sha512 = "tM4XVr2+UVTxXJzey9Twx48c1gcxFStqn1pQz0tRsX8o3DvxhN5oY5pvyAbUx7VTaZxpej4Zzvc6h+1RJBzpIg=="; + }; + }; + "@tsconfig/node10-1.0.11" = { + name = "_at_tsconfig_slash_node10"; + packageName = "@tsconfig/node10"; + version = "1.0.11"; + src = fetchurl { + url = "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz"; + sha512 = "DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw=="; + }; + }; + "@tsconfig/node12-1.0.11" = { + name = "_at_tsconfig_slash_node12"; + packageName = "@tsconfig/node12"; + version = "1.0.11"; + src = fetchurl { + url = "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz"; + sha512 = "cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag=="; + }; + }; + "@tsconfig/node14-1.0.3" = { + name = "_at_tsconfig_slash_node14"; + packageName = "@tsconfig/node14"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz"; + sha512 = "ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow=="; + }; + }; + "@tsconfig/node16-1.0.4" = { + name = "_at_tsconfig_slash_node16"; + packageName = "@tsconfig/node16"; + version = "1.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz"; + sha512 = "vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA=="; + }; + }; + "@types/hast-3.0.4" = { + name = "_at_types_slash_hast"; + packageName = "@types/hast"; + version = "3.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz"; + sha512 = "WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ=="; + }; + }; + "@types/mdast-4.0.4" = { + name = "_at_types_slash_mdast"; + packageName = "@types/mdast"; + version = "4.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz"; + sha512 = "kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="; + }; + }; + "@types/node-22.8.1" = { + name = "_at_types_slash_node"; + packageName = "@types/node"; + version = "22.8.1"; + src = fetchurl { + url = "https://registry.npmjs.org/@types/node/-/node-22.8.1.tgz"; + sha512 = "k6Gi8Yyo8EtrNtkHXutUu2corfDf9su95VYVP10aGYMMROM6SAItZi0w1XszA6RtWTHSVp5OeFof37w0IEqCQg=="; + }; + }; + "@types/unist-3.0.3" = { + name = "_at_types_slash_unist"; + packageName = "@types/unist"; + version = "3.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz"; + sha512 = "ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="; + }; + }; + "@ungap/structured-clone-1.2.0" = { + name = "_at_ungap_slash_structured-clone"; + packageName = "@ungap/structured-clone"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz"; + sha512 = "zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ=="; + }; + }; + "acorn-8.13.0" = { + name = "acorn"; + packageName = "acorn"; + version = "8.13.0"; + src = fetchurl { + url = "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz"; + sha512 = "8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w=="; + }; + }; + "acorn-walk-8.3.4" = { + name = "acorn-walk"; + packageName = "acorn-walk"; + version = "8.3.4"; + src = fetchurl { + url = "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz"; + sha512 = "ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g=="; + }; + }; + "ansi-regex-5.0.1" = { + name = "ansi-regex"; + packageName = "ansi-regex"; + version = "5.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"; + sha512 = "quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="; + }; + }; + "ansi-regex-6.1.0" = { + name = "ansi-regex"; + packageName = "ansi-regex"; + version = "6.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz"; + sha512 = "7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="; + }; + }; + "ansi-styles-4.3.0" = { + name = "ansi-styles"; + packageName = "ansi-styles"; + version = "4.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"; + sha512 = "zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="; + }; + }; + "ansi-styles-6.2.1" = { + name = "ansi-styles"; + packageName = "ansi-styles"; + version = "6.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz"; + sha512 = "bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="; + }; + }; + "any-promise-1.3.0" = { + name = "any-promise"; + packageName = "any-promise"; + version = "1.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz"; + sha512 = "7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="; + }; + }; + "anymatch-3.1.3" = { + name = "anymatch"; + packageName = "anymatch"; + version = "3.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz"; + sha512 = "KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="; + }; + }; + "arg-4.1.3" = { + name = "arg"; + packageName = "arg"; + version = "4.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz"; + sha512 = "58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA=="; + }; + }; + "arg-5.0.2" = { + name = "arg"; + packageName = "arg"; + version = "5.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz"; + sha512 = "PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="; + }; + }; + "balanced-match-1.0.2" = { + name = "balanced-match"; + packageName = "balanced-match"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"; + sha512 = "3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="; + }; + }; + "binary-extensions-2.3.0" = { + name = "binary-extensions"; + packageName = "binary-extensions"; + version = "2.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz"; + sha512 = "Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="; + }; + }; + "brace-expansion-2.0.1" = { + name = "brace-expansion"; + packageName = "brace-expansion"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz"; + sha512 = "XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="; + }; + }; + "braces-3.0.3" = { + name = "braces"; + packageName = "braces"; + version = "3.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz"; + sha512 = "yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="; + }; + }; + "camelcase-css-2.0.1" = { + name = "camelcase-css"; + packageName = "camelcase-css"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz"; + sha512 = "QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="; + }; + }; + "ccount-2.0.1" = { + name = "ccount"; + packageName = "ccount"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz"; + sha512 = "eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="; + }; + }; + "character-entities-html4-2.1.0" = { + name = "character-entities-html4"; + packageName = "character-entities-html4"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz"; + sha512 = "1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA=="; + }; + }; + "character-entities-legacy-3.0.0" = { + name = "character-entities-legacy"; + packageName = "character-entities-legacy"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz"; + sha512 = "RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ=="; + }; + }; + "chokidar-3.6.0" = { + name = "chokidar"; + packageName = "chokidar"; + version = "3.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz"; + sha512 = "7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="; + }; + }; + "color-convert-2.0.1" = { + name = "color-convert"; + packageName = "color-convert"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"; + sha512 = "RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="; + }; + }; + "color-name-1.1.4" = { + name = "color-name"; + packageName = "color-name"; + version = "1.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"; + sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="; + }; + }; + "comma-separated-tokens-2.0.3" = { + name = "comma-separated-tokens"; + packageName = "comma-separated-tokens"; + version = "2.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz"; + sha512 = "Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg=="; + }; + }; + "commander-4.1.1" = { + name = "commander"; + packageName = "commander"; + version = "4.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz"; + sha512 = "NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="; + }; + }; + "create-require-1.1.1" = { + name = "create-require"; + packageName = "create-require"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz"; + sha512 = "dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ=="; + }; + }; + "cross-spawn-7.0.3" = { + name = "cross-spawn"; + packageName = "cross-spawn"; + version = "7.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"; + sha512 = "iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w=="; + }; + }; + "cssesc-3.0.0" = { + name = "cssesc"; + packageName = "cssesc"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz"; + sha512 = "/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="; + }; + }; + "dequal-2.0.3" = { + name = "dequal"; + packageName = "dequal"; + version = "2.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz"; + sha512 = "0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="; + }; + }; + "devlop-1.1.0" = { + name = "devlop"; + packageName = "devlop"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz"; + sha512 = "RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA=="; + }; + }; + "didyoumean-1.2.2" = { + name = "didyoumean"; + packageName = "didyoumean"; + version = "1.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz"; + sha512 = "gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="; + }; + }; + "diff-4.0.2" = { + name = "diff"; + packageName = "diff"; + version = "4.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz"; + sha512 = "58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A=="; + }; + }; + "dlv-1.1.3" = { + name = "dlv"; + packageName = "dlv"; + version = "1.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz"; + sha512 = "+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="; + }; + }; + "eastasianwidth-0.2.0" = { + name = "eastasianwidth"; + packageName = "eastasianwidth"; + version = "0.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz"; + sha512 = "I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="; + }; + }; + "emoji-regex-8.0.0" = { + name = "emoji-regex"; + packageName = "emoji-regex"; + version = "8.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"; + sha512 = "MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="; + }; + }; + "emoji-regex-9.2.2" = { + name = "emoji-regex"; + packageName = "emoji-regex"; + version = "9.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz"; + sha512 = "L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="; + }; + }; + "esbuild-0.24.0" = { + name = "esbuild"; + packageName = "esbuild"; + version = "0.24.0"; + src = fetchurl { + url = "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz"; + sha512 = "FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ=="; + }; + }; + "fast-glob-3.3.2" = { + name = "fast-glob"; + packageName = "fast-glob"; + version = "3.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz"; + sha512 = "oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow=="; + }; + }; + "fastq-1.17.1" = { + name = "fastq"; + packageName = "fastq"; + version = "1.17.1"; + src = fetchurl { + url = "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz"; + sha512 = "sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w=="; + }; + }; + "fill-range-7.1.1" = { + name = "fill-range"; + packageName = "fill-range"; + version = "7.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz"; + sha512 = "YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="; + }; + }; + "foreground-child-3.3.0" = { + name = "foreground-child"; + packageName = "foreground-child"; + version = "3.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz"; + sha512 = "Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg=="; + }; + }; + "function-bind-1.1.2" = { + name = "function-bind"; + packageName = "function-bind"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"; + sha512 = "7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="; + }; + }; + "glob-10.4.5" = { + name = "glob"; + packageName = "glob"; + version = "10.4.5"; + src = fetchurl { + url = "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz"; + sha512 = "7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="; + }; + }; + "glob-parent-5.1.2" = { + name = "glob-parent"; + packageName = "glob-parent"; + version = "5.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"; + sha512 = "AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="; + }; + }; + "glob-parent-6.0.2" = { + name = "glob-parent"; + packageName = "glob-parent"; + version = "6.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz"; + sha512 = "XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="; + }; + }; + "hasown-2.0.2" = { + name = "hasown"; + packageName = "hasown"; + version = "2.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz"; + sha512 = "0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="; + }; + }; + "hast-util-to-html-9.0.3" = { + name = "hast-util-to-html"; + packageName = "hast-util-to-html"; + version = "9.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.3.tgz"; + sha512 = "M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg=="; + }; + }; + "hast-util-whitespace-3.0.0" = { + name = "hast-util-whitespace"; + packageName = "hast-util-whitespace"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz"; + sha512 = "88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw=="; + }; + }; + "html-void-elements-3.0.0" = { + name = "html-void-elements"; + packageName = "html-void-elements"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz"; + sha512 = "bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg=="; + }; + }; + "i-0.3.7" = { + name = "i"; + packageName = "i"; + version = "0.3.7"; + src = fetchurl { + url = "https://registry.npmjs.org/i/-/i-0.3.7.tgz"; + sha512 = "FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q=="; + }; + }; + "is-binary-path-2.1.0" = { + name = "is-binary-path"; + packageName = "is-binary-path"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz"; + sha512 = "ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="; + }; + }; + "is-core-module-2.15.1" = { + name = "is-core-module"; + packageName = "is-core-module"; + version = "2.15.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz"; + sha512 = "z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ=="; + }; + }; + "is-extglob-2.1.1" = { + name = "is-extglob"; + packageName = "is-extglob"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"; + sha512 = "SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="; + }; + }; + "is-fullwidth-code-point-3.0.0" = { + name = "is-fullwidth-code-point"; + packageName = "is-fullwidth-code-point"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"; + sha512 = "zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="; + }; + }; + "is-glob-4.0.3" = { + name = "is-glob"; + packageName = "is-glob"; + version = "4.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz"; + sha512 = "xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="; + }; + }; + "is-number-7.0.0" = { + name = "is-number"; + packageName = "is-number"; + version = "7.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"; + sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="; + }; + }; + "isexe-2.0.0" = { + name = "isexe"; + packageName = "isexe"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"; + sha512 = "RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="; + }; + }; + "jackspeak-3.4.3" = { + name = "jackspeak"; + packageName = "jackspeak"; + version = "3.4.3"; + src = fetchurl { + url = "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz"; + sha512 = "OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="; + }; + }; + "jiti-1.21.6" = { + name = "jiti"; + packageName = "jiti"; + version = "1.21.6"; + src = fetchurl { + url = "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz"; + sha512 = "2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w=="; + }; + }; + "lilconfig-2.1.0" = { + name = "lilconfig"; + packageName = "lilconfig"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz"; + sha512 = "utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ=="; + }; + }; + "lilconfig-3.1.2" = { + name = "lilconfig"; + packageName = "lilconfig"; + version = "3.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz"; + sha512 = "eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow=="; + }; + }; + "lines-and-columns-1.2.4" = { + name = "lines-and-columns"; + packageName = "lines-and-columns"; + version = "1.2.4"; + src = fetchurl { + url = "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz"; + sha512 = "7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="; + }; + }; + "lru-cache-10.4.3" = { + name = "lru-cache"; + packageName = "lru-cache"; + version = "10.4.3"; + src = fetchurl { + url = "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz"; + sha512 = "JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="; + }; + }; + "make-error-1.3.6" = { + name = "make-error"; + packageName = "make-error"; + version = "1.3.6"; + src = fetchurl { + url = "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz"; + sha512 = "s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw=="; + }; + }; + "mdast-util-to-hast-13.2.0" = { + name = "mdast-util-to-hast"; + packageName = "mdast-util-to-hast"; + version = "13.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz"; + sha512 = "QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA=="; + }; + }; + "merge2-1.4.1" = { + name = "merge2"; + packageName = "merge2"; + version = "1.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"; + sha512 = "8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="; + }; + }; + "micromark-util-character-2.1.0" = { + name = "micromark-util-character"; + packageName = "micromark-util-character"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz"; + sha512 = "KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ=="; + }; + }; + "micromark-util-encode-2.0.0" = { + name = "micromark-util-encode"; + packageName = "micromark-util-encode"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz"; + sha512 = "pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA=="; + }; + }; + "micromark-util-sanitize-uri-2.0.0" = { + name = "micromark-util-sanitize-uri"; + packageName = "micromark-util-sanitize-uri"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz"; + sha512 = "WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw=="; + }; + }; + "micromark-util-symbol-2.0.0" = { + name = "micromark-util-symbol"; + packageName = "micromark-util-symbol"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz"; + sha512 = "8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw=="; + }; + }; + "micromark-util-types-2.0.0" = { + name = "micromark-util-types"; + packageName = "micromark-util-types"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz"; + sha512 = "oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w=="; + }; + }; + "micromatch-4.0.8" = { + name = "micromatch"; + packageName = "micromatch"; + version = "4.0.8"; + src = fetchurl { + url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz"; + sha512 = "PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="; + }; + }; + "mini-svg-data-uri-1.4.4" = { + name = "mini-svg-data-uri"; + packageName = "mini-svg-data-uri"; + version = "1.4.4"; + src = fetchurl { + url = "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz"; + sha512 = "r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg=="; + }; + }; + "minimatch-9.0.5" = { + name = "minimatch"; + packageName = "minimatch"; + version = "9.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz"; + sha512 = "G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="; + }; + }; + "minipass-7.1.2" = { + name = "minipass"; + packageName = "minipass"; + version = "7.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz"; + sha512 = "qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="; + }; + }; + "mz-2.7.0" = { + name = "mz"; + packageName = "mz"; + version = "2.7.0"; + src = fetchurl { + url = "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz"; + sha512 = "z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="; + }; + }; + "nanoid-3.3.7" = { + name = "nanoid"; + packageName = "nanoid"; + version = "3.3.7"; + src = fetchurl { + url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz"; + sha512 = "eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g=="; + }; + }; + "normalize-path-3.0.0" = { + name = "normalize-path"; + packageName = "normalize-path"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"; + sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="; + }; + }; + "object-assign-4.1.1" = { + name = "object-assign"; + packageName = "object-assign"; + version = "4.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"; + sha512 = "rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="; + }; + }; + "object-hash-3.0.0" = { + name = "object-hash"; + packageName = "object-hash"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz"; + sha512 = "RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="; + }; + }; + "oniguruma-to-js-0.4.3" = { + name = "oniguruma-to-js"; + packageName = "oniguruma-to-js"; + version = "0.4.3"; + src = fetchurl { + url = "https://registry.npmjs.org/oniguruma-to-js/-/oniguruma-to-js-0.4.3.tgz"; + sha512 = "X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ=="; + }; + }; + "package-json-from-dist-1.0.1" = { + name = "package-json-from-dist"; + packageName = "package-json-from-dist"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz"; + sha512 = "UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="; + }; + }; + "path-key-3.1.1" = { + name = "path-key"; + packageName = "path-key"; + version = "3.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"; + sha512 = "ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="; + }; + }; + "path-parse-1.0.7" = { + name = "path-parse"; + packageName = "path-parse"; + version = "1.0.7"; + src = fetchurl { + url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"; + sha512 = "LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="; + }; + }; + "path-scurry-1.11.1" = { + name = "path-scurry"; + packageName = "path-scurry"; + version = "1.11.1"; + src = fetchurl { + url = "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz"; + sha512 = "Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="; + }; + }; + "phoenix-1.7.14" = { + name = "phoenix"; + packageName = "phoenix"; + version = "1.7.14"; + src = fetchurl { + url = "https://registry.npmjs.org/phoenix/-/phoenix-1.7.14.tgz"; + sha512 = "3tZ76PiH/2g+Kyzhz8+GIFYrnx3lRnwi/Qt3ZUH04xpMxXL7Guerd5aaxtpWal73X+H8iLAjo2c+AgRy2KYQcQ=="; + }; + }; + "phoenix_html-3.3.4" = { + name = "phoenix_html"; + packageName = "phoenix_html"; + version = "3.3.4"; + src = fetchurl { + url = "https://registry.npmjs.org/phoenix_html/-/phoenix_html-3.3.4.tgz"; + sha512 = "IkKAeP4sAuFzwtSSUbSNP/nL0H6WHcHfpe+/F7wOzyjYtijkAO2wTH8maA7vpTRhUBU5Dck5V8SEEhDuUy1mMA=="; + }; + }; + "phoenix_live_view-1.0.0-rc.7" = { + name = "phoenix_live_view"; + packageName = "phoenix_live_view"; + version = "1.0.0-rc.7"; + src = fetchurl { + url = "https://registry.npmjs.org/phoenix_live_view/-/phoenix_live_view-1.0.0-rc.7.tgz"; + sha512 = "G3fv7X/JtzrHIpNqR7REc9gAxTZkhICQWhQs6VvDgzXfkyHMQs9NqOpN00HOgCXHJPb1jxYhSMPRuyLBOmbgng=="; + }; + }; + "picocolors-1.1.1" = { + name = "picocolors"; + packageName = "picocolors"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"; + sha512 = "xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="; + }; + }; + "picomatch-2.3.1" = { + name = "picomatch"; + packageName = "picomatch"; + version = "2.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"; + sha512 = "JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="; + }; + }; + "pify-2.3.0" = { + name = "pify"; + packageName = "pify"; + version = "2.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"; + sha512 = "udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="; + }; + }; + "pirates-4.0.6" = { + name = "pirates"; + packageName = "pirates"; + version = "4.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz"; + sha512 = "saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg=="; + }; + }; + "postcss-8.4.47" = { + name = "postcss"; + packageName = "postcss"; + version = "8.4.47"; + src = fetchurl { + url = "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz"; + sha512 = "56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ=="; + }; + }; + "postcss-import-15.1.0" = { + name = "postcss-import"; + packageName = "postcss-import"; + version = "15.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz"; + sha512 = "hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew=="; + }; + }; + "postcss-js-4.0.1" = { + name = "postcss-js"; + packageName = "postcss-js"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz"; + sha512 = "dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw=="; + }; + }; + "postcss-load-config-4.0.2" = { + name = "postcss-load-config"; + packageName = "postcss-load-config"; + version = "4.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz"; + sha512 = "bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ=="; + }; + }; + "postcss-nested-6.2.0" = { + name = "postcss-nested"; + packageName = "postcss-nested"; + version = "6.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz"; + sha512 = "HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ=="; + }; + }; + "postcss-selector-parser-6.1.2" = { + name = "postcss-selector-parser"; + packageName = "postcss-selector-parser"; + version = "6.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz"; + sha512 = "Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="; + }; + }; + "postcss-value-parser-4.2.0" = { + name = "postcss-value-parser"; + packageName = "postcss-value-parser"; + version = "4.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"; + sha512 = "1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="; + }; + }; + "property-information-6.5.0" = { + name = "property-information"; + packageName = "property-information"; + version = "6.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz"; + sha512 = "PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig=="; + }; + }; + "queue-microtask-1.2.3" = { + name = "queue-microtask"; + packageName = "queue-microtask"; + version = "1.2.3"; + src = fetchurl { + url = "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"; + sha512 = "NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="; + }; + }; + "read-cache-1.0.0" = { + name = "read-cache"; + packageName = "read-cache"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz"; + sha512 = "Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA=="; + }; + }; + "readdirp-3.6.0" = { + name = "readdirp"; + packageName = "readdirp"; + version = "3.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz"; + sha512 = "hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="; + }; + }; + "regex-4.3.3" = { + name = "regex"; + packageName = "regex"; + version = "4.3.3"; + src = fetchurl { + url = "https://registry.npmjs.org/regex/-/regex-4.3.3.tgz"; + sha512 = "r/AadFO7owAq1QJVeZ/nq9jNS1vyZt+6t1p/E59B56Rn2GCya+gr1KSyOzNL/er+r+B7phv5jG2xU2Nz1YkmJg=="; + }; + }; + "resolve-1.22.8" = { + name = "resolve"; + packageName = "resolve"; + version = "1.22.8"; + src = fetchurl { + url = "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz"; + sha512 = "oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw=="; + }; + }; + "reusify-1.0.4" = { + name = "reusify"; + packageName = "reusify"; + version = "1.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz"; + sha512 = "U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="; + }; + }; + "run-parallel-1.2.0" = { + name = "run-parallel"; + packageName = "run-parallel"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz"; + sha512 = "5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="; + }; + }; + "shebang-command-2.0.0" = { + name = "shebang-command"; + packageName = "shebang-command"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"; + sha512 = "kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="; + }; + }; + "shebang-regex-3.0.0" = { + name = "shebang-regex"; + packageName = "shebang-regex"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz"; + sha512 = "7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="; + }; + }; + "shiki-1.22.1" = { + name = "shiki"; + packageName = "shiki"; + version = "1.22.1"; + src = fetchurl { + url = "https://registry.npmjs.org/shiki/-/shiki-1.22.1.tgz"; + sha512 = "PbJ6XxrWLMwB2rm3qdjIHNm3zq4SfFnOx0B3rEoi4AN8AUngsdyZ1tRe5slMPtn6jQkbUURLNZPpLR7Do3k78g=="; + }; + }; + "signal-exit-4.1.0" = { + name = "signal-exit"; + packageName = "signal-exit"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz"; + sha512 = "bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="; + }; + }; + "source-map-js-1.2.1" = { + name = "source-map-js"; + packageName = "source-map-js"; + version = "1.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz"; + sha512 = "UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="; + }; + }; + "space-separated-tokens-2.0.2" = { + name = "space-separated-tokens"; + packageName = "space-separated-tokens"; + version = "2.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz"; + sha512 = "PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="; + }; + }; + "string-width-4.2.3" = { + name = "string-width"; + packageName = "string-width"; + version = "4.2.3"; + src = fetchurl { + url = "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"; + sha512 = "wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="; + }; + }; + "string-width-5.1.2" = { + name = "string-width"; + packageName = "string-width"; + version = "5.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz"; + sha512 = "HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="; + }; + }; + "string-width-cjs-4.2.3" = { + name = "string-width-cjs"; + packageName = "string-width-cjs"; + version = "4.2.3"; + src = fetchurl { + url = "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"; + sha512 = "wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="; + }; + }; + "stringify-entities-4.0.4" = { + name = "stringify-entities"; + packageName = "stringify-entities"; + version = "4.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz"; + sha512 = "IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg=="; + }; + }; + "strip-ansi-6.0.1" = { + name = "strip-ansi"; + packageName = "strip-ansi"; + version = "6.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"; + sha512 = "Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="; + }; + }; + "strip-ansi-7.1.0" = { + name = "strip-ansi"; + packageName = "strip-ansi"; + version = "7.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz"; + sha512 = "iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="; + }; + }; + "strip-ansi-cjs-6.0.1" = { + name = "strip-ansi-cjs"; + packageName = "strip-ansi-cjs"; + version = "6.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"; + sha512 = "Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="; + }; + }; + "sucrase-3.35.0" = { + name = "sucrase"; + packageName = "sucrase"; + version = "3.35.0"; + src = fetchurl { + url = "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz"; + sha512 = "8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA=="; + }; + }; + "supports-preserve-symlinks-flag-1.0.0" = { + name = "supports-preserve-symlinks-flag"; + packageName = "supports-preserve-symlinks-flag"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz"; + sha512 = "ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="; + }; + }; + "tailwindcss-3.4.14" = { + name = "tailwindcss"; + packageName = "tailwindcss"; + version = "3.4.14"; + src = fetchurl { + url = "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.14.tgz"; + sha512 = "IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA=="; + }; + }; + "tailwindcss-animate-1.0.7" = { + name = "tailwindcss-animate"; + packageName = "tailwindcss-animate"; + version = "1.0.7"; + src = fetchurl { + url = "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz"; + sha512 = "bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA=="; + }; + }; + "thenify-3.3.1" = { + name = "thenify"; + packageName = "thenify"; + version = "3.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz"; + sha512 = "RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw=="; + }; + }; + "thenify-all-1.6.0" = { + name = "thenify-all"; + packageName = "thenify-all"; + version = "1.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz"; + sha512 = "RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA=="; + }; + }; + "to-regex-range-5.0.1" = { + name = "to-regex-range"; + packageName = "to-regex-range"; + version = "5.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"; + sha512 = "65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="; + }; + }; + "trim-lines-3.0.1" = { + name = "trim-lines"; + packageName = "trim-lines"; + version = "3.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz"; + sha512 = "kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg=="; + }; + }; + "ts-interface-checker-0.1.13" = { + name = "ts-interface-checker"; + packageName = "ts-interface-checker"; + version = "0.1.13"; + src = fetchurl { + url = "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz"; + sha512 = "Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="; + }; + }; + "ts-node-10.9.2" = { + name = "ts-node"; + packageName = "ts-node"; + version = "10.9.2"; + src = fetchurl { + url = "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz"; + sha512 = "f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ=="; + }; + }; + "tslib-2.8.0" = { + name = "tslib"; + packageName = "tslib"; + version = "2.8.0"; + src = fetchurl { + url = "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz"; + sha512 = "jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA=="; + }; + }; + "typescript-5.6.3" = { + name = "typescript"; + packageName = "typescript"; + version = "5.6.3"; + src = fetchurl { + url = "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz"; + sha512 = "hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw=="; + }; + }; + "undici-types-6.19.8" = { + name = "undici-types"; + packageName = "undici-types"; + version = "6.19.8"; + src = fetchurl { + url = "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz"; + sha512 = "ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw=="; + }; + }; + "unist-util-is-6.0.0" = { + name = "unist-util-is"; + packageName = "unist-util-is"; + version = "6.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz"; + sha512 = "2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw=="; + }; + }; + "unist-util-position-5.0.0" = { + name = "unist-util-position"; + packageName = "unist-util-position"; + version = "5.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz"; + sha512 = "fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA=="; + }; + }; + "unist-util-stringify-position-4.0.0" = { + name = "unist-util-stringify-position"; + packageName = "unist-util-stringify-position"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz"; + sha512 = "0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ=="; + }; + }; + "unist-util-visit-5.0.0" = { + name = "unist-util-visit"; + packageName = "unist-util-visit"; + version = "5.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz"; + sha512 = "MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg=="; + }; + }; + "unist-util-visit-parents-6.0.1" = { + name = "unist-util-visit-parents"; + packageName = "unist-util-visit-parents"; + version = "6.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz"; + sha512 = "L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw=="; + }; + }; + "util-deprecate-1.0.2" = { + name = "util-deprecate"; + packageName = "util-deprecate"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"; + sha512 = "EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="; + }; + }; + "v8-compile-cache-lib-3.0.1" = { + name = "v8-compile-cache-lib"; + packageName = "v8-compile-cache-lib"; + version = "3.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz"; + sha512 = "wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg=="; + }; + }; + "vfile-6.0.3" = { + name = "vfile"; + packageName = "vfile"; + version = "6.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz"; + sha512 = "KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q=="; + }; + }; + "vfile-message-4.0.2" = { + name = "vfile-message"; + packageName = "vfile-message"; + version = "4.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz"; + sha512 = "jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw=="; + }; + }; + "which-2.0.2" = { + name = "which"; + packageName = "which"; + version = "2.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/which/-/which-2.0.2.tgz"; + sha512 = "BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="; + }; + }; + "wrap-ansi-8.1.0" = { + name = "wrap-ansi"; + packageName = "wrap-ansi"; + version = "8.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz"; + sha512 = "si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="; + }; + }; + "wrap-ansi-cjs-7.0.0" = { + name = "wrap-ansi-cjs"; + packageName = "wrap-ansi-cjs"; + version = "7.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz"; + sha512 = "YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="; + }; + }; + "yaml-2.6.0" = { + name = "yaml"; + packageName = "yaml"; + version = "2.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz"; + sha512 = "a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ=="; + }; + }; + "yn-3.1.1" = { + name = "yn"; + packageName = "yn"; + version = "3.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz"; + sha512 = "Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q=="; + }; + }; + "zwitch-2.0.4" = { + name = "zwitch"; + packageName = "zwitch"; + version = "2.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz"; + sha512 = "bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="; + }; + }; + }; args = { name = "zoeys-computer-assets"; packageName = "zoeys-computer-assets"; src = ./.; + dependencies = [ + sources."@alloc/quick-lru-5.2.0" + sources."@catppuccin/tailwindcss-0.1.6" + (sources."@cspotcode/source-map-support-0.8.1" // { + dependencies = [ + sources."@jridgewell/trace-mapping-0.3.9" + ]; + }) + sources."@esbuild/linux-x64-0.24.0" + sources."@isaacs/cliui-8.0.2" + sources."@jridgewell/gen-mapping-0.3.5" + sources."@jridgewell/resolve-uri-3.1.2" + sources."@jridgewell/set-array-1.2.1" + sources."@jridgewell/sourcemap-codec-1.5.0" + sources."@jridgewell/trace-mapping-0.3.25" + sources."@nodelib/fs.scandir-2.1.5" + sources."@nodelib/fs.stat-2.0.5" + sources."@nodelib/fs.walk-1.2.8" + sources."@shikijs/core-1.22.1" + sources."@shikijs/engine-javascript-1.22.1" + sources."@shikijs/engine-oniguruma-1.22.1" + sources."@shikijs/types-1.22.1" + sources."@shikijs/vscode-textmate-9.3.0" + sources."@swc/core-1.7.40" + sources."@swc/counter-0.1.3" + sources."@swc/helpers-0.5.13" + sources."@swc/types-0.1.13" + sources."@swc/wasm-1.7.40" + sources."@tailwindcss/forms-0.5.9" + sources."@tsconfig/node10-1.0.11" + sources."@tsconfig/node12-1.0.11" + sources."@tsconfig/node14-1.0.3" + sources."@tsconfig/node16-1.0.4" + sources."@types/hast-3.0.4" + sources."@types/mdast-4.0.4" + sources."@types/node-22.8.1" + sources."@types/unist-3.0.3" + sources."@ungap/structured-clone-1.2.0" + sources."acorn-8.13.0" + sources."acorn-walk-8.3.4" + sources."ansi-regex-5.0.1" + sources."ansi-styles-6.2.1" + sources."any-promise-1.3.0" + sources."anymatch-3.1.3" + sources."arg-5.0.2" + sources."balanced-match-1.0.2" + sources."binary-extensions-2.3.0" + sources."brace-expansion-2.0.1" + sources."braces-3.0.3" + sources."camelcase-css-2.0.1" + sources."ccount-2.0.1" + sources."character-entities-html4-2.1.0" + sources."character-entities-legacy-3.0.0" + (sources."chokidar-3.6.0" // { + dependencies = [ + sources."glob-parent-5.1.2" + ]; + }) + sources."color-convert-2.0.1" + sources."color-name-1.1.4" + sources."comma-separated-tokens-2.0.3" + sources."commander-4.1.1" + sources."create-require-1.1.1" + sources."cross-spawn-7.0.3" + sources."cssesc-3.0.0" + sources."dequal-2.0.3" + sources."devlop-1.1.0" + sources."didyoumean-1.2.2" + sources."diff-4.0.2" + sources."dlv-1.1.3" + sources."eastasianwidth-0.2.0" + sources."emoji-regex-9.2.2" + sources."esbuild-0.24.0" + (sources."fast-glob-3.3.2" // { + dependencies = [ + sources."glob-parent-5.1.2" + ]; + }) + sources."fastq-1.17.1" + sources."fill-range-7.1.1" + sources."foreground-child-3.3.0" + sources."function-bind-1.1.2" + sources."glob-10.4.5" + sources."glob-parent-6.0.2" + sources."hasown-2.0.2" + sources."hast-util-to-html-9.0.3" + sources."hast-util-whitespace-3.0.0" + sources."html-void-elements-3.0.0" + sources."i-0.3.7" + sources."is-binary-path-2.1.0" + sources."is-core-module-2.15.1" + sources."is-extglob-2.1.1" + sources."is-fullwidth-code-point-3.0.0" + sources."is-glob-4.0.3" + sources."is-number-7.0.0" + sources."isexe-2.0.0" + sources."jackspeak-3.4.3" + sources."jiti-1.21.6" + sources."lilconfig-2.1.0" + sources."lines-and-columns-1.2.4" + sources."lru-cache-10.4.3" + sources."make-error-1.3.6" + sources."mdast-util-to-hast-13.2.0" + sources."merge2-1.4.1" + sources."micromark-util-character-2.1.0" + sources."micromark-util-encode-2.0.0" + sources."micromark-util-sanitize-uri-2.0.0" + sources."micromark-util-symbol-2.0.0" + sources."micromark-util-types-2.0.0" + sources."micromatch-4.0.8" + sources."mini-svg-data-uri-1.4.4" + sources."minimatch-9.0.5" + sources."minipass-7.1.2" + sources."mz-2.7.0" + sources."nanoid-3.3.7" + sources."normalize-path-3.0.0" + sources."object-assign-4.1.1" + sources."object-hash-3.0.0" + sources."oniguruma-to-js-0.4.3" + sources."package-json-from-dist-1.0.1" + sources."path-key-3.1.1" + sources."path-parse-1.0.7" + sources."path-scurry-1.11.1" + sources."phoenix-1.7.14" + sources."phoenix_html-3.3.4" + sources."phoenix_live_view-1.0.0-rc.7" + sources."picocolors-1.1.1" + sources."picomatch-2.3.1" + sources."pify-2.3.0" + sources."pirates-4.0.6" + sources."postcss-8.4.47" + sources."postcss-import-15.1.0" + sources."postcss-js-4.0.1" + (sources."postcss-load-config-4.0.2" // { + dependencies = [ + sources."lilconfig-3.1.2" + ]; + }) + sources."postcss-nested-6.2.0" + sources."postcss-selector-parser-6.1.2" + sources."postcss-value-parser-4.2.0" + sources."property-information-6.5.0" + sources."queue-microtask-1.2.3" + sources."read-cache-1.0.0" + sources."readdirp-3.6.0" + sources."regex-4.3.3" + sources."resolve-1.22.8" + sources."reusify-1.0.4" + sources."run-parallel-1.2.0" + sources."shebang-command-2.0.0" + sources."shebang-regex-3.0.0" + sources."shiki-1.22.1" + sources."signal-exit-4.1.0" + sources."source-map-js-1.2.1" + sources."space-separated-tokens-2.0.2" + sources."string-width-5.1.2" + (sources."string-width-cjs-4.2.3" // { + dependencies = [ + sources."emoji-regex-8.0.0" + sources."strip-ansi-6.0.1" + ]; + }) + sources."stringify-entities-4.0.4" + (sources."strip-ansi-7.1.0" // { + dependencies = [ + sources."ansi-regex-6.1.0" + ]; + }) + sources."strip-ansi-cjs-6.0.1" + sources."sucrase-3.35.0" + sources."supports-preserve-symlinks-flag-1.0.0" + sources."tailwindcss-3.4.14" + sources."tailwindcss-animate-1.0.7" + sources."thenify-3.3.1" + sources."thenify-all-1.6.0" + sources."to-regex-range-5.0.1" + sources."trim-lines-3.0.1" + sources."ts-interface-checker-0.1.13" + (sources."ts-node-10.9.2" // { + dependencies = [ + sources."arg-4.1.3" + ]; + }) + sources."tslib-2.8.0" + sources."typescript-5.6.3" + sources."undici-types-6.19.8" + sources."unist-util-is-6.0.0" + sources."unist-util-position-5.0.0" + sources."unist-util-stringify-position-4.0.0" + sources."unist-util-visit-5.0.0" + sources."unist-util-visit-parents-6.0.1" + sources."util-deprecate-1.0.2" + sources."v8-compile-cache-lib-3.0.1" + sources."vfile-6.0.3" + sources."vfile-message-4.0.2" + sources."which-2.0.2" + sources."wrap-ansi-8.1.0" + (sources."wrap-ansi-cjs-7.0.0" // { + dependencies = [ + sources."ansi-styles-4.3.0" + sources."emoji-regex-8.0.0" + sources."string-width-4.2.3" + sources."strip-ansi-6.0.1" + ]; + }) + sources."yaml-2.6.0" + sources."yn-3.1.1" + sources."zwitch-2.0.4" + ]; buildInputs = globalBuildInputs; meta = { }; production = true; bypassCache = true; - reconstructLock = false; + reconstructLock = true; }; in { diff --git a/lib/zoeyscomputer_web/live/gist_live/og_image.ex b/lib/zoeyscomputer_web/live/gist_live/og_image.ex index 4a74a00..0b7b912 100644 --- a/lib/zoeyscomputer_web/live/gist_live/og_image.ex +++ b/lib/zoeyscomputer_web/live/gist_live/og_image.ex @@ -14,6 +14,7 @@ defmodule ZoeyscomputerWeb.GistLive.OgImage do @code_start_x 80 @font_size 24 @char_width 12 + @space_width @char_width defp font_face_styles do """ @@ -52,24 +53,32 @@ defmodule ZoeyscomputerWeb.GistLive.OgImage do font-family: 'Iosevka' !important; } - .background { fill: #0D1117; } - .title { fill: #ffffff; font-family: system-ui, -apple-system, sans-serif; } - .description { fill: #8B949E; font-family: system-ui, -apple-system, sans-serif; } - .code-background { fill: #161B22; } + /* Catppuccin Macchiato Theme Colors */ + .background { fill: #24273a; } /* base */ + .title { fill: #cad3f5; font-family: system-ui, -apple-system, sans-serif; } /* text */ + .description { fill: #8087a2; font-family: system-ui, -apple-system, sans-serif; } /* overlay1 */ + .code-background { fill: #1e2030; } /* crust */ - /* Syntax Highlighting Colors */ - .c, .cm, .cp, .c1, .cs { fill: #768390; } /* Comment */ - .k, .kc, .kd, .kn, .kp, .kr, .kt { fill: #f47067; } /* Keyword */ - .s, .sb, .sc, .sd, .s2, .se, .sh, .si, .sx, .sr, .s1, .ss { fill: #96d0ff; } /* String */ - .n, .na, .nc, .no, .nd, .ni, .ne, .nf, .nl, .nn, .nx, .py, .nt, .nv, .vc, .vg, .vi { fill: #adbac7; } /* Name */ - .nb, .bp { fill: #f69d50; } /* Built-in */ - .m, .mf, .mh, .mi, .mo, .il { fill: #6cb6ff; } /* Number */ - .o, .ow { fill: #f47067; } /* Operator */ - .p { fill: #adbac7; } /* Punctuation */ - .w { fill: #E6EDF3; } /* Whitespace */ - .l { fill: #6cb6ff; } /* Literal */ - .default { fill: #E6EDF3; } /* Default text color */ + /* Syntax Highlighting Colors - Catppuccin Macchiato */ + .c, .cm, .cp, .c1, .cs { fill: #8087a2; } /* Comment - overlay1 */ + .k, .kc, .kd, .kn, .kp, .kr, .kt { fill: #c6a0f6; } /* Keyword - mauve */ + .s, .sb, .sc, .sd, .s2, .se, .sh, .si, .sx, .sr, .s1, .ss { fill: #a6da95; } /* String - green */ + .n, .na, .nc, .no, .nd, .ni, .ne, .nf, .nl, .nn, .nx, .py, .nt, .nv, .vc, .vg, .vi { fill: #8aadf4; } /* Name - blue */ + .nb, .bp { fill: #f5a97f; } /* Built-in - peach */ + .m, .mf, .mh, .mi, .mo, .il { fill: #f5bde6; } /* Number - pink */ + .o, .ow { fill: #91d7e3; } /* Operator - sky */ + .p { fill: #cad3f5; } /* Punctuation - text */ + .w { fill: #cad3f5; } /* Whitespace - text */ + .l { fill: #8aadf4; } /* Literal - blue */ + .default { fill: #cad3f5; } /* Default text color - text */ + + + + + + + @@ -85,12 +94,15 @@ defmodule ZoeyscomputerWeb.GistLive.OgImage do - + #{code_lines} + + + """ end @@ -100,43 +112,64 @@ defmodule ZoeyscomputerWeb.GistLive.OgImage do |> String.split("\n") |> Enum.with_index() |> Enum.map_join("\n", fn {line, index} -> + indent_level = calculate_indent_level(line) y_position = @code_start_y + index * @line_height - render_line(String.trim(line), y_position) + render_line(String.trim_leading(line), y_position, indent_level) end) end - defp render_line("", _y_position), do: "" + defp calculate_indent_level(line) do + leading_spaces = + line + |> String.replace(~r/^(\s+).*$/, "\\1") + |> String.length() - defp render_line(line, y_position) do + div(leading_spaces, 2) + end + + defp render_line("", _y_position, _indent), do: "" + + defp render_line(line, y_position, indent_level) do spans = parse_spans(line) + indent_offset = indent_level * 2 * @space_width spans - |> Enum.reduce({[], 0}, fn {content, class}, {spans, x_offset} -> - span = render_span(content, class, x_offset, y_position) - {[span | spans], x_offset + String.length(content)} + |> Enum.reduce({[], indent_offset}, fn {content, class}, {spans, x_offset} -> + unescaped_content = unescape_html(content) + span = render_span(unescaped_content, class, x_offset, y_position) + {[span | spans], x_offset + String.length(unescaped_content) * @char_width} end) |> elem(0) |> Enum.reverse() |> Enum.join("\n") end + defp unescape_html(text) do + text + |> String.replace("&", "&") + |> String.replace("<", "<") + |> String.replace(">", ">") + |> String.replace(""", "\"") + |> String.replace("'", "'") + |> String.replace("'", "'") + |> String.replace("/", "/") + |> String.replace("/", "/") + |> String.replace(" ", " ") + end + defp parse_spans(""), do: [] defp parse_spans(line) do - # Handle non-span text first line |> String.split(~r{(|)}, include_captures: true) |> Enum.reduce({[], nil}, fn - # Opening span tag <<">, {acc, nil} -> class = rest |> String.replace_suffix("\">", "") {acc, class} - # Closing span tag "", {acc, _class} -> {acc, nil} - # Content within or outside spans content, {acc, class} when byte_size(content) > 0 -> {[{content, class || "default"} | acc], class} @@ -148,8 +181,10 @@ defmodule ZoeyscomputerWeb.GistLive.OgImage do end defp render_span(content, class, x_offset, y_position) when byte_size(content) > 0 do - x = @code_start_x + x_offset * @char_width - "#{escape_text(content)}" + x = @code_start_x + x_offset + # Re-escape the content for the SVG output + safe_content = escape_text(content) + "#{safe_content}" end defp render_span(_, _, _, _), do: ""