Skip to content

Commit

Permalink
document the libraries used
Browse files Browse the repository at this point in the history
  • Loading branch information
Eselvire committed Dec 7, 2023
1 parent 0cd9117 commit 69cca13
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
Typescript really really wants to include them and has no option not to, but it doesn't work in browser.

(If you manage to have tsc pick up the type for Zod.infer without using the `import/export type ...` syntax, you're a god please help me)


### What is Bun?
[Bun](https://bun.sh) is a "fast all-in-one JavaScript runtime". It's basically Node.js or Deno, except faster and way more convenient and has everything built-in

### What is Zod?
[Zod](https://zod.dev/) is a powerful parsing + validation library; ideally I'd use it to validate all incoming data, but manyland's api is so full of holes and exceptions that I don't want to have it fail mid-way, so the exporter is mostly archiving everything as-is.

### What is RE:DOM?
[RE:DOM](https://redom.js.org/) is a "tiny turboboosted javascript library for creation user interfaces" - it's basically React, except way more barebones and no JSX. I use it because I didn't want to add all the annoying react tooling and a heavy transpilation step, and the exporter really doesn't need much.

It's a bit unsightly right now because I wrote 99% of it in a very basic style because I couldn't get my editor to work the types out, sorry about that!


The other libs are pretty self-explanatory: `JSZip` for zipping, `csv-stringify` for generating the .csv files, `file-saver` to be able to download the zip, and `idb` as a lightweight wrapper around the awful IndexedDB api.

0 comments on commit 69cca13

Please sign in to comment.