Skip to content

cupcakearmy/advent-of-code

Repository files navigation

Advent Of Code

Template repository for Advent of Code. It automatically downloads your puzzle inputs and bootstraps files for the following languages:

  • Typescript
  • Python
  • Rust

Have fun! 🤗🎄

Getting started

New "days" are generated with hygen. This will bootstrap code for python and rust. See details about the specifica languages below

# First time setup
bun i

# Put the Advent of Code token into .env (details below)

# Generate day
bun run gen --year 2022 --day 1

Extracting the Advent of Code cookie

  1. Navigate to https://adventofcode.com/ and login.
  2. Open dev tools and copy the cookie named session.
  3. save TOKEN=<my-token> to .env.

Languages

Below are instructions for the specific handling of each language included.

Typescript

Run a single day:

# Once
bun run 2022/01/typescript/main.ts

# Rerun on change
bun run --watch 2022/01/typescript/main.ts

Python

# Get a python enabled shell, with the latest version
poetry shell

# Run once
python 2022/01/python/main.py

# Rerun on change
bunx nodemon 2022/01/python/main.py

Rust

Run a single day:

# Once
cargo run --bin 2022-01

# Rerun on change (requires: https://github.com/watchexec/cargo-watch)
cargo watch -x 'run --bin 2022-01'

Benchmark a day:

cargo bench --bin 2022-01

Benchmark all days:

cargo bench

The benchmark is the built in Rust one. This is the reason for the nightly version.

About

Advent Of Code

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published