Home

Awesome

๐ŸŽ„ Advent of Code Template

Bun TypeScript ESLint

Setup

Download template (powered by unjs/giget)

npx giget gh:matijaoe/advent-of-code advent-of-code-2023

Ensure bun is installed:

bun -v

# if not installed, run this:
curl -fsSL https://bun.sh/install | bash

Install dependencies:

bun install

Set up a new day:

bun setup 1

Run day solutions:

bun day 1

Run day solutions in dev mode (without clearing console outputs):

bun day 1 --dev

For automatic puzzle input retrieval, define .env file with session cookie from adventofcode.com:

SESSION=
YEAR=2023

Structure

Generated 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)

Days

โญ / โŒ

DayPart 1Part 2SolutionAdvent of Code link
01LinkDay 01
02Day 02
03Day 03
04Day 04
05Day 05
06Day 06
07Day 07
08Day 08
09Day 09
10Day 10
11Day 11
12Day 12
13Day 13
14Day 14
15Day 15
16Day 16
17Day 17
18Day 18
19Day 19
20Day 20
21Day 21
22Day 22
23Day 23
24Day 24
25Day 25