Write the mini-package for the server

This commit is contained in:
Danila Fedorin 2022-03-27 17:06:16 -07:00
commit 1b852b8599
5 changed files with 819 additions and 0 deletions

9
default.nix Normal file
View File

@ -0,0 +1,9 @@
{ pkgs }:
pkgs.mkYarnPackage {
name = "katex-server";
src = ./.;
packageJSON = ./package.json;
yarnLock = ./yarn.lock;
yarnNix = ./yarn.nix;
}

13
package.json Normal file
View File

@ -0,0 +1,13 @@
{
"name": "katex-server",
"version": "1.0.0",
"description": "A miniature web API to render KaTeX for use in internal projects.",
"main": "server.js",
"author": "Danila Fedorin",
"license": "MIT",
"dependencies": {
"body-parser": "^1.19.2",
"express": "^4.17.3",
"katex": "^0.15.3"
}
}

12
server.js Executable file
View File

@ -0,0 +1,12 @@
#!/usr/bin/env node
const katex = require('katex');
const express = require('express');
const bodyParser = require('body-parser');
app = express();
app.use(bodyParser.json());
app.post('/render', (req, res) => {
res.send(req.body.equations.map(eq =>
katex.renderToString(eq.str, { throwOnError: false, displayMode: eq.display })));
});
app.listen(8000);

364
yarn.lock Normal file
View File

@ -0,0 +1,364 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
accepts@~1.3.8:
version "1.3.8"
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
dependencies:
mime-types "~2.1.34"
negotiator "0.6.3"
array-flatten@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
body-parser@1.19.2, body-parser@^1.19.2:
version "1.19.2"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e"
integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==
dependencies:
bytes "3.1.2"
content-type "~1.0.4"
debug "2.6.9"
depd "~1.1.2"
http-errors "1.8.1"
iconv-lite "0.4.24"
on-finished "~2.3.0"
qs "6.9.7"
raw-body "2.4.3"
type-is "~1.6.18"
bytes@3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
commander@^8.0.0:
version "8.3.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66"
integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
content-disposition@0.5.4:
version "0.5.4"
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
dependencies:
safe-buffer "5.2.1"
content-type@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
cookie-signature@1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
cookie@0.4.2:
version "0.4.2"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
debug@2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
ms "2.0.0"
depd@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
destroy@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
encodeurl@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
escape-html@~1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
etag@~1.8.1:
version "1.8.1"
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
express@^4.17.3:
version "4.17.3"
resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1"
integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==
dependencies:
accepts "~1.3.8"
array-flatten "1.1.1"
body-parser "1.19.2"
content-disposition "0.5.4"
content-type "~1.0.4"
cookie "0.4.2"
cookie-signature "1.0.6"
debug "2.6.9"
depd "~1.1.2"
encodeurl "~1.0.2"
escape-html "~1.0.3"
etag "~1.8.1"
finalhandler "~1.1.2"
fresh "0.5.2"
merge-descriptors "1.0.1"
methods "~1.1.2"
on-finished "~2.3.0"
parseurl "~1.3.3"
path-to-regexp "0.1.7"
proxy-addr "~2.0.7"
qs "6.9.7"
range-parser "~1.2.1"
safe-buffer "5.2.1"
send "0.17.2"
serve-static "1.14.2"
setprototypeof "1.2.0"
statuses "~1.5.0"
type-is "~1.6.18"
utils-merge "1.0.1"
vary "~1.1.2"
finalhandler@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
dependencies:
debug "2.6.9"
encodeurl "~1.0.2"
escape-html "~1.0.3"
on-finished "~2.3.0"
parseurl "~1.3.3"
statuses "~1.5.0"
unpipe "~1.0.0"
forwarded@0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
fresh@0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
http-errors@1.8.1:
version "1.8.1"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c"
integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==
dependencies:
depd "~1.1.2"
inherits "2.0.4"
setprototypeof "1.2.0"
statuses ">= 1.5.0 < 2"
toidentifier "1.0.1"
iconv-lite@0.4.24:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
dependencies:
safer-buffer ">= 2.1.2 < 3"
inherits@2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
ipaddr.js@1.9.1:
version "1.9.1"
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
katex@^0.15.3:
version "0.15.3"
resolved "https://registry.yarnpkg.com/katex/-/katex-0.15.3.tgz#08781a7ed26800b20380d959d1ffcd62bca0ec14"
integrity sha512-Al6V7RJsmjklT9QItyHWGaQCt+NYTle1bZwB1e9MR/tLoIT1MXaHy9UpfGSB7eaqDgjjqqRxQOaQGrALCrEyBQ==
dependencies:
commander "^8.0.0"
media-typer@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
merge-descriptors@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
methods@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
mime-db@1.52.0:
version "1.52.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
mime-types@~2.1.24, mime-types@~2.1.34:
version "2.1.35"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
dependencies:
mime-db "1.52.0"
mime@1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
ms@2.1.3:
version "2.1.3"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
negotiator@0.6.3:
version "0.6.3"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
on-finished@~2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
dependencies:
ee-first "1.1.1"
parseurl@~1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
path-to-regexp@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
proxy-addr@~2.0.7:
version "2.0.7"
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
dependencies:
forwarded "0.2.0"
ipaddr.js "1.9.1"
qs@6.9.7:
version "6.9.7"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe"
integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==
range-parser@~1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
raw-body@2.4.3:
version "2.4.3"
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c"
integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==
dependencies:
bytes "3.1.2"
http-errors "1.8.1"
iconv-lite "0.4.24"
unpipe "1.0.0"
safe-buffer@5.2.1:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
"safer-buffer@>= 2.1.2 < 3":
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
send@0.17.2:
version "0.17.2"
resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820"
integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==
dependencies:
debug "2.6.9"
depd "~1.1.2"
destroy "~1.0.4"
encodeurl "~1.0.2"
escape-html "~1.0.3"
etag "~1.8.1"
fresh "0.5.2"
http-errors "1.8.1"
mime "1.6.0"
ms "2.1.3"
on-finished "~2.3.0"
range-parser "~1.2.1"
statuses "~1.5.0"
serve-static@1.14.2:
version "1.14.2"
resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa"
integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==
dependencies:
encodeurl "~1.0.2"
escape-html "~1.0.3"
parseurl "~1.3.3"
send "0.17.2"
setprototypeof@1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
"statuses@>= 1.5.0 < 2", statuses@~1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
toidentifier@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
type-is@~1.6.18:
version "1.6.18"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
dependencies:
media-typer "0.3.0"
mime-types "~2.1.24"
unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
utils-merge@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=

421
yarn.nix Normal file
View File

@ -0,0 +1,421 @@
{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
offline_cache = linkFarm "offline" packages;
packages = [
{
name = "accepts___accepts_1.3.8.tgz";
path = fetchurl {
name = "accepts___accepts_1.3.8.tgz";
url = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz";
sha1 = "0bf0be125b67014adcb0b0921e62db7bffe16b2e";
};
}
{
name = "array_flatten___array_flatten_1.1.1.tgz";
path = fetchurl {
name = "array_flatten___array_flatten_1.1.1.tgz";
url = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz";
sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
};
}
{
name = "body_parser___body_parser_1.19.2.tgz";
path = fetchurl {
name = "body_parser___body_parser_1.19.2.tgz";
url = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz";
sha1 = "4714ccd9c157d44797b8b5607d72c0b89952f26e";
};
}
{
name = "bytes___bytes_3.1.2.tgz";
path = fetchurl {
name = "bytes___bytes_3.1.2.tgz";
url = "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz";
sha1 = "8b0beeb98605adf1b128fa4386403c009e0221a5";
};
}
{
name = "commander___commander_8.3.0.tgz";
path = fetchurl {
name = "commander___commander_8.3.0.tgz";
url = "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz";
sha1 = "4837ea1b2da67b9c616a67afbb0fafee567bca66";
};
}
{
name = "content_disposition___content_disposition_0.5.4.tgz";
path = fetchurl {
name = "content_disposition___content_disposition_0.5.4.tgz";
url = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz";
sha1 = "8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe";
};
}
{
name = "content_type___content_type_1.0.4.tgz";
path = fetchurl {
name = "content_type___content_type_1.0.4.tgz";
url = "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz";
sha1 = "e138cc75e040c727b1966fe5e5f8c9aee256fe3b";
};
}
{
name = "cookie_signature___cookie_signature_1.0.6.tgz";
path = fetchurl {
name = "cookie_signature___cookie_signature_1.0.6.tgz";
url = "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz";
sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
};
}
{
name = "cookie___cookie_0.4.2.tgz";
path = fetchurl {
name = "cookie___cookie_0.4.2.tgz";
url = "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz";
sha1 = "0e41f24de5ecf317947c82fc789e06a884824432";
};
}
{
name = "debug___debug_2.6.9.tgz";
path = fetchurl {
name = "debug___debug_2.6.9.tgz";
url = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz";
sha1 = "5d128515df134ff327e90a4c93f4e077a536341f";
};
}
{
name = "depd___depd_1.1.2.tgz";
path = fetchurl {
name = "depd___depd_1.1.2.tgz";
url = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz";
sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
};
}
{
name = "destroy___destroy_1.0.4.tgz";
path = fetchurl {
name = "destroy___destroy_1.0.4.tgz";
url = "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz";
sha1 = "978857442c44749e4206613e37946205826abd80";
};
}
{
name = "ee_first___ee_first_1.1.1.tgz";
path = fetchurl {
name = "ee_first___ee_first_1.1.1.tgz";
url = "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz";
sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
};
}
{
name = "encodeurl___encodeurl_1.0.2.tgz";
path = fetchurl {
name = "encodeurl___encodeurl_1.0.2.tgz";
url = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz";
sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
};
}
{
name = "escape_html___escape_html_1.0.3.tgz";
path = fetchurl {
name = "escape_html___escape_html_1.0.3.tgz";
url = "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz";
sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
};
}
{
name = "etag___etag_1.8.1.tgz";
path = fetchurl {
name = "etag___etag_1.8.1.tgz";
url = "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz";
sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
};
}
{
name = "express___express_4.17.3.tgz";
path = fetchurl {
name = "express___express_4.17.3.tgz";
url = "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz";
sha1 = "f6c7302194a4fb54271b73a1fe7a06478c8f85a1";
};
}
{
name = "finalhandler___finalhandler_1.1.2.tgz";
path = fetchurl {
name = "finalhandler___finalhandler_1.1.2.tgz";
url = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz";
sha1 = "b7e7d000ffd11938d0fdb053506f6ebabe9f587d";
};
}
{
name = "forwarded___forwarded_0.2.0.tgz";
path = fetchurl {
name = "forwarded___forwarded_0.2.0.tgz";
url = "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz";
sha1 = "2269936428aad4c15c7ebe9779a84bf0b2a81811";
};
}
{
name = "fresh___fresh_0.5.2.tgz";
path = fetchurl {
name = "fresh___fresh_0.5.2.tgz";
url = "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz";
sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
};
}
{
name = "http_errors___http_errors_1.8.1.tgz";
path = fetchurl {
name = "http_errors___http_errors_1.8.1.tgz";
url = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz";
sha1 = "7c3f28577cbc8a207388455dbd62295ed07bd68c";
};
}
{
name = "iconv_lite___iconv_lite_0.4.24.tgz";
path = fetchurl {
name = "iconv_lite___iconv_lite_0.4.24.tgz";
url = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz";
sha1 = "2022b4b25fbddc21d2f524974a474aafe733908b";
};
}
{
name = "inherits___inherits_2.0.4.tgz";
path = fetchurl {
name = "inherits___inherits_2.0.4.tgz";
url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz";
sha1 = "0fa2c64f932917c3433a0ded55363aae37416b7c";
};
}
{
name = "ipaddr.js___ipaddr.js_1.9.1.tgz";
path = fetchurl {
name = "ipaddr.js___ipaddr.js_1.9.1.tgz";
url = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz";
sha1 = "bff38543eeb8984825079ff3a2a8e6cbd46781b3";
};
}
{
name = "katex___katex_0.15.3.tgz";
path = fetchurl {
name = "katex___katex_0.15.3.tgz";
url = "https://registry.yarnpkg.com/katex/-/katex-0.15.3.tgz";
sha1 = "08781a7ed26800b20380d959d1ffcd62bca0ec14";
};
}
{
name = "media_typer___media_typer_0.3.0.tgz";
path = fetchurl {
name = "media_typer___media_typer_0.3.0.tgz";
url = "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz";
sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
};
}
{
name = "merge_descriptors___merge_descriptors_1.0.1.tgz";
path = fetchurl {
name = "merge_descriptors___merge_descriptors_1.0.1.tgz";
url = "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
};
}
{
name = "methods___methods_1.1.2.tgz";
path = fetchurl {
name = "methods___methods_1.1.2.tgz";
url = "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz";
sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
};
}
{
name = "mime_db___mime_db_1.52.0.tgz";
path = fetchurl {
name = "mime_db___mime_db_1.52.0.tgz";
url = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz";
sha1 = "bbabcdc02859f4987301c856e3387ce5ec43bf70";
};
}
{
name = "mime_types___mime_types_2.1.35.tgz";
path = fetchurl {
name = "mime_types___mime_types_2.1.35.tgz";
url = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz";
sha1 = "381a871b62a734450660ae3deee44813f70d959a";
};
}
{
name = "mime___mime_1.6.0.tgz";
path = fetchurl {
name = "mime___mime_1.6.0.tgz";
url = "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz";
sha1 = "32cd9e5c64553bd58d19a568af452acff04981b1";
};
}
{
name = "ms___ms_2.0.0.tgz";
path = fetchurl {
name = "ms___ms_2.0.0.tgz";
url = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz";
sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
};
}
{
name = "ms___ms_2.1.3.tgz";
path = fetchurl {
name = "ms___ms_2.1.3.tgz";
url = "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz";
sha1 = "574c8138ce1d2b5861f0b44579dbadd60c6615b2";
};
}
{
name = "negotiator___negotiator_0.6.3.tgz";
path = fetchurl {
name = "negotiator___negotiator_0.6.3.tgz";
url = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz";
sha1 = "58e323a72fedc0d6f9cd4d31fe49f51479590ccd";
};
}
{
name = "on_finished___on_finished_2.3.0.tgz";
path = fetchurl {
name = "on_finished___on_finished_2.3.0.tgz";
url = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz";
sha1 = "20f1336481b083cd75337992a16971aa2d906947";
};
}
{
name = "parseurl___parseurl_1.3.3.tgz";
path = fetchurl {
name = "parseurl___parseurl_1.3.3.tgz";
url = "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz";
sha1 = "9da19e7bee8d12dff0513ed5b76957793bc2e8d4";
};
}
{
name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
path = fetchurl {
name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
url = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
};
}
{
name = "proxy_addr___proxy_addr_2.0.7.tgz";
path = fetchurl {
name = "proxy_addr___proxy_addr_2.0.7.tgz";
url = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz";
sha1 = "f19fe69ceab311eeb94b42e70e8c2070f9ba1025";
};
}
{
name = "qs___qs_6.9.7.tgz";
path = fetchurl {
name = "qs___qs_6.9.7.tgz";
url = "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz";
sha1 = "4610846871485e1e048f44ae3b94033f0e675afe";
};
}
{
name = "range_parser___range_parser_1.2.1.tgz";
path = fetchurl {
name = "range_parser___range_parser_1.2.1.tgz";
url = "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz";
sha1 = "3cf37023d199e1c24d1a55b84800c2f3e6468031";
};
}
{
name = "raw_body___raw_body_2.4.3.tgz";
path = fetchurl {
name = "raw_body___raw_body_2.4.3.tgz";
url = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz";
sha1 = "8f80305d11c2a0a545c2d9d89d7a0286fcead43c";
};
}
{
name = "safe_buffer___safe_buffer_5.2.1.tgz";
path = fetchurl {
name = "safe_buffer___safe_buffer_5.2.1.tgz";
url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz";
sha1 = "1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6";
};
}
{
name = "safer_buffer___safer_buffer_2.1.2.tgz";
path = fetchurl {
name = "safer_buffer___safer_buffer_2.1.2.tgz";
url = "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz";
sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a";
};
}
{
name = "send___send_0.17.2.tgz";
path = fetchurl {
name = "send___send_0.17.2.tgz";
url = "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz";
sha1 = "926622f76601c41808012c8bf1688fe3906f7820";
};
}
{
name = "serve_static___serve_static_1.14.2.tgz";
path = fetchurl {
name = "serve_static___serve_static_1.14.2.tgz";
url = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz";
sha1 = "722d6294b1d62626d41b43a013ece4598d292bfa";
};
}
{
name = "setprototypeof___setprototypeof_1.2.0.tgz";
path = fetchurl {
name = "setprototypeof___setprototypeof_1.2.0.tgz";
url = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz";
sha1 = "66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424";
};
}
{
name = "statuses___statuses_1.5.0.tgz";
path = fetchurl {
name = "statuses___statuses_1.5.0.tgz";
url = "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz";
sha1 = "161c7dac177659fd9811f43771fa99381478628c";
};
}
{
name = "toidentifier___toidentifier_1.0.1.tgz";
path = fetchurl {
name = "toidentifier___toidentifier_1.0.1.tgz";
url = "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz";
sha1 = "3be34321a88a820ed1bd80dfaa33e479fbb8dd35";
};
}
{
name = "type_is___type_is_1.6.18.tgz";
path = fetchurl {
name = "type_is___type_is_1.6.18.tgz";
url = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz";
sha1 = "4e552cd05df09467dcbc4ef739de89f2cf37c131";
};
}
{
name = "unpipe___unpipe_1.0.0.tgz";
path = fetchurl {
name = "unpipe___unpipe_1.0.0.tgz";
url = "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz";
sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
};
}
{
name = "utils_merge___utils_merge_1.0.1.tgz";
path = fetchurl {
name = "utils_merge___utils_merge_1.0.1.tgz";
url = "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz";
sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
};
}
{
name = "vary___vary_1.1.2.tgz";
path = fetchurl {
name = "vary___vary_1.1.2.tgz";
url = "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz";
sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
};
}
];
}