Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/passidel/aoc

Advent of Code
https://github.com/passidel/aoc

advent-of-code advent-of-code-2024 aoc bun test typescript

Last synced: about 1 month ago
JSON representation

Advent of Code

Awesome Lists containing this project

README

        

# Advent of Code

![Check runs](https://img.shields.io/github/check-runs/PassiDel/aoc/main)
![Typescript version](https://img.shields.io/github/package-json/dependency-version/passidel/aoc/peer/typescript)
![Runtime Bun]()

> [LANGUAGE: TypeScript]
>
> [RUNTIME: Bun]

## Structure

Every solution is grouped by its year and day and (usually) consists of five files:

| Filename | Purpose |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `//index.ts` | Has the solution. Exports two functions: `solveFirst(string): number` and `solveSecond(string): number` |
| `//index.test.ts` | Unit test using the example input and expected solution. |
| `//run.ts` | Basic run script: Loading the actual input and passing it into the two solve functions. |
| `//input.txt` | Input text from AOC. |
| `//-.run.xml` | IntelliJ/Webstorm runfile for `run.ts` using Bun. |

## Setup

To install dependencies:

```bash
bun install
```

To test all days:

```bash
bun run test
```

To create a new day-folder:

```bash
bun run copy.ts
```

To run a single day, first copy your input file from `https://adventofcode.com//day//input` into
`//input.txt`. Then run:

```bash
bun run //run.ts
```