{"id":22550966,"url":"https://github.com/mabenj/aoc-deno-ts","last_synced_at":"2026-04-17T06:31:43.385Z","repository":{"id":265925595,"uuid":"896887096","full_name":"mabenj/aoc-deno-ts","owner":"mabenj","description":"Advent of Code - Deno/TypeScript","archived":false,"fork":false,"pushed_at":"2024-12-25T14:11:55.000Z","size":376,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-25T05:46:27.956Z","etag":null,"topics":["aoc-2024-in-deno","aoc-2024-in-typescript","deno","typescript"],"latest_commit_sha":null,"homepage":"https://adventofcode.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mabenj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-01T14:51:52.000Z","updated_at":"2025-02-06T16:20:16.000Z","dependencies_parsed_at":"2024-12-18T14:27:14.899Z","dependency_job_id":"78277030-f3f1-4c99-9b4a-4f2a79f90f0e","html_url":"https://github.com/mabenj/aoc-deno-ts","commit_stats":null,"previous_names":["mabenj/aoc24","mabenj/aoc-deno","mabenj/aoc-deno-ts"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mabenj/aoc-deno-ts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabenj%2Faoc-deno-ts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabenj%2Faoc-deno-ts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabenj%2Faoc-deno-ts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabenj%2Faoc-deno-ts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mabenj","download_url":"https://codeload.github.com/mabenj/aoc-deno-ts/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mabenj%2Faoc-deno-ts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31918479,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aoc-2024-in-deno","aoc-2024-in-typescript","deno","typescript"],"created_at":"2024-12-07T17:09:11.733Z","updated_at":"2026-04-17T06:31:43.318Z","avatar_url":"https://github.com/mabenj.png","language":"TypeScript","funding_links":[],"categories":["🎄 2024 AoC Solutions"],"sub_categories":["Solutions"],"readme":"# 🎄 Advent of Code in Deno/TypeScript\n\n## Solutions\n\n1. *deno 2.1.2, windows x86_64, 15.91 GB, AMD Ryzen 5 3600 6-Core Processor*\n2. *deno 2.1.2, windows x86_64, 31.76 GB, Intel(R) Core(TM) i7-9850H CPU @ 2.60GHz*\n3. *deno 2.1.2, windows x86_64, 31.93 GB, AMD Ryzen 7 5800X3D 8-Core Processor*\n\n| 2024 | Part 1 | Part 2 |\n| :--- | :--- | :--- |\n| [Day 1](/lib/24D1/solver.ts) | ⭐ (1ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (0.8ms) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 2](/lib/24D2/solver.ts) | ⭐ (1.0ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (1ms) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 3](/lib/24D3/solver.ts) | ⭐ (2ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (2ms) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 4](/lib/24D4/solver.ts) | ⭐ (3ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (3ms) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 5](/lib/24D5/solver.ts) | ⭐ (2ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (2ms) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 6](/lib/24D6/solver.ts) | ⭐ (4ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (6.9s) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 7](/lib/24D7/solver.ts) | ⭐ (114ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (8.2s) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 8](/lib/24D8/solver.ts) | ⭐ (1.0ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (2ms) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 9](/lib/24D9/solver.ts) | ⭐ (960ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (436ms) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 10](/lib/24D10/solver.ts) | ⭐ (8ms) \u003csup\u003e2\u003c/sup\u003e | ⭐ (7ms) \u003csup\u003e2\u003c/sup\u003e |\n| [Day 11](/lib/24D11/solver.ts) | ⭐ (2ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (38ms) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 12](/lib/24D12/solver.ts) | ⭐ (31ms) \u003csup\u003e2\u003c/sup\u003e | ⭐ (37ms) \u003csup\u003e2\u003c/sup\u003e |\n| [Day 13](/lib/24D13/solver.ts) | ⭐ (0.8ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (0.7ms) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 14](/lib/24D14/solver.ts) | ⭐ (0.7ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (198ms) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 15](/lib/24D15/solver.ts) | ⭐ (2ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (6ms) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 16](/lib/24D16/solver.ts) | ⭐ (154ms) \u003csup\u003e2\u003c/sup\u003e | ⭐ (725ms) \u003csup\u003e2\u003c/sup\u003e |\n| [Day 17](/lib/24D17/solver.ts) | ⭐ (0.2ms) \u003csup\u003e1\u003c/sup\u003e | ⭐ (0.2ms) \u003csup\u003e1\u003c/sup\u003e |\n| [Day 18](/lib/24D18/solver.ts) | ⭐ (4ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (15ms) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 19](/lib/24D19/solver.ts) | ⭐ (20ms) \u003csup\u003e2\u003c/sup\u003e | ⭐ (46ms) \u003csup\u003e2\u003c/sup\u003e |\n| [Day 20](/lib/24D20/solver.ts) | ⭐ (135ms) \u003csup\u003e1\u003c/sup\u003e | ⭐ (285ms) \u003csup\u003e1\u003c/sup\u003e |\n| [Day 21](/lib/24D21/solver.ts) | ❌ | ❌ |\n| [Day 22](/lib/24D22/solver.ts) | ⭐ (74ms) \u003csup\u003e1\u003c/sup\u003e | ⭐ (1.5s) \u003csup\u003e1\u003c/sup\u003e |\n| [Day 23](/lib/24D23/solver.ts) | ⭐ (4ms) \u003csup\u003e1\u003c/sup\u003e | ⭐ (10ms) \u003csup\u003e1\u003c/sup\u003e |\n| [Day 24](/lib/24D24/solver.ts) | ⭐ (1ms) \u003csup\u003e1\u003c/sup\u003e | ❌ |\n| [Day 25](/lib/24D25/solver.ts) | ⭐ (3ms) \u003csup\u003e1\u003c/sup\u003e | ❌ |\n\n| 2023 | Part 1 | Part 2 |\n| :--- | :--- | :--- |\n| [Day 1](/lib/23D1/solver.ts) | ⭐ (0.8ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (22ms) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 2](/lib/23D2/solver.ts) | ⭐ (0.8ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (0.8ms) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 3](/lib/23D3/solver.ts) | ⭐ (2ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (1ms) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 4](/lib/23D4/solver.ts) | ⭐ (1ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (112ms) \u003csup\u003e3\u003c/sup\u003e |\n| [Day 5](/lib/23D5/solver.ts) | ⭐ (0.8ms) \u003csup\u003e3\u003c/sup\u003e | ⭐ (14.5s) \u003csup\u003e3\u003c/sup\u003e |\n\n[![Generate README](https://github.com/mabenj/aoc-deno-ts/actions/workflows/generate-readme.yml/badge.svg)](https://github.com/mabenj/aoc-deno-ts/actions/workflows/generate-readme.yml)\n\u003e Generated at Wed, 25 Dec 2024 14:11:54 GMT\n\n## Prerequisites\n\n-   [Deno](https://deno.land/)\n\n## Setup\n\n1. `git clone` this repository\n2. `cd` into the repository\n\n❗ Note: to start from scratch without my solutions, delete all the puzzle directories and the `solver-factory.ts` file in the `lib` directory.\n\n## Project Structure\n\n```\n📦\n├─ lib/\n│  ├─ yyDd/                       # puzzle directory for year `yy` and day `d`\n│  │  ├─ input.txt                # input for the puzzle (git ignored)\n│  │  ├─ puzzle.md                # problem description (git ignored)\n│  │  └─ solver.ts                # solution for the puzzle\n│  ├─ commands/\n│  │  ├─ init.ts                  # command to scaffold a new puzzle directory\n│  │  └─ solve.ts                 # command to solve a puzzle\n│  ├─ tests/\n│  │  ├─ main_test.ts             # unit tests for all the solvers\n│  │  └─ main_test_answers.json   # correct answers for the puzzles\n│  ├─ common.ts                   # common utility code\n│  └─ solver-factory.ts           # factory for creating solvers\n├─ deno.json                      # Deno configuration\n└─ main.ts                        # entry point for the program\n```\n\n## Usage\n\nSolve the puzzle for the given year, day and part:\n\n```\ndeno run solve [-d, --day \u003cday\u003e] [-p, --part \u003c1 | 2\u003e] [-y, --year \u003cyear\u003e]\n```\n\nInitialize and scaffold a new puzzle directory into the `lib` directory:\n\n```\ndeno run init [-d, --day \u003cday\u003e] [-y, --year \u003cyear\u003e]\n```\n\n_Defaults:_\n\n-   `day` defaults to the day of the latest puzzle\n-   `year` defaults to the year of the latest AoC\n-   `part` defaults to 1\n\n❗ Note: to use the `init` command to automatically scaffold a new puzzle directory and to fetch your input and problem description, you will need to set the `AOC_SESSION` environment variable to your Advent of Code session cookie. You can achieve this by creating a `.env` file with `AOC_SESSION=\u003csession cookie\u003e` in the root of your project (see .env.example). This same variable is also used to submit answers after solving a puzzle.\n\n## Testing\n\n`deno test` will run all the solvers and test their output\n\n❗ Note: the tests expects the `lib/tests/main_test-answers.json` file to contain the correct answers for the puzzles.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmabenj%2Faoc-deno-ts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmabenj%2Faoc-deno-ts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmabenj%2Faoc-deno-ts/lists"}