- Bun & TypeScript, with ESLint
- Automatic day setup
- Puzzle input automatically fetched
- Performance metrics
Download template (powered by unjs/giget)
npx giget gh:matijaoe/advent-of-code advent-of-code-2023Ensure bun is installed:
bun -v
# if not installed, run this:
curl -fsSL https://bun.sh/install | bash
Install dependencies:
bun installSet up a new day:
bun setup 1Run day solutions:
bun day 1Run day solutions in dev mode (without clearing console outputs):
bun day 1 --devFor automatic puzzle input retrieval, define .env file with session cookie from adventofcode.com:
SESSION=
YEAR=2023Generated day structure:
import { parseLines, readInput } from 'io'
const input = await readInput('day-01')
export const part1 = () => {
const lines = parseLines(input)
// your code goes here
return lines.length
}Expected index.ts solution structure (day 1 of 2022):
import { parseGroups, readInput } from 'io'
import { desc, sum } from 'utils'
const input = await readInput('day-01')
export const part1 = () => {
const lines = parseGroups(input, Number)
return lines.map(sum).sort(desc).at(0)
}
export const part2 = () => {
const lines = parseGroups(input, Number)
const top = lines.map(sum).sort(desc).slice(0, 3)
return sum(top)
}bun day <day-num> output:
🌲 Part One: 70698 (1.11 ms)
🎄 Part Two: 140471 (383.5 µs)
⭐ / ❌
| Day | Part 1 | Part 2 | Solution | Advent of Code link |
|---|---|---|---|---|
| 01 | Link | Day 01 | ||
| 02 | Day 02 | |||
| 03 | Day 03 | |||
| 04 | Day 04 | |||
| 05 | Day 05 | |||
| 06 | Day 06 | |||
| 07 | Day 07 | |||
| 08 | Day 08 | |||
| 09 | Day 09 | |||
| 10 | Day 10 | |||
| 11 | Day 11 | |||
| 12 | Day 12 | |||
| 13 | Day 13 | |||
| 14 | Day 14 | |||
| 15 | Day 15 | |||
| 16 | Day 16 | |||
| 17 | Day 17 | |||
| 18 | Day 18 | |||
| 19 | Day 19 | |||
| 20 | Day 20 | |||
| 21 | Day 21 | |||
| 22 | Day 22 | |||
| 23 | Day 23 | |||
| 24 | Day 24 | |||
| 25 | Day 25 |