# Advent of Code ![Gitea](https://git.syma.dev/pascal/aoc/actions/workflows/ci.yml/badge.svg?branch=main) ![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 ```