Skip to content

nesvand/aoc2022

 
 

Repository files navigation

Advent of Code Typescript Starter

Test Report

A template for Advent of Code written in Typescript with Node.

Usage

The project uses Node.js for the javascript runtime, esbuild as the typescript transpiler and swc with Jest for testing.

$ git clone https://github.com/ljgago/advent-of-code-typescript-starter aoc-typescript
$ cd aoc-typescript

# install dependencies
$ npm install

# check syntax with eslint
$ npm run lint day01

# run tests for day01
$ npm test day01

# run the day01
# npm start day01

Generate

You can generate all necessary files for use in the event with a simple command:

$ npm run gen day01

This command generates these files:

* creating src/day01/resources/input.txt
* creating src/day01/index.ts
* creating src/day01/main.ts
* creating src/day01/part1.ts
* creating src/day01/part2.ts
* creating src/day01/README.md
* creating test/day01.test.ts
  • /src/day01/resources/input.txt: the input data.
  • /src/day01/index.ts: export the modules for testing.
  • /src/day01/main.ts: the main module.
  • /src/day01/part1.ts: solution for part 1.
  • /src/day01/part2.ts: solution for part 2.
  • /src/day01/README.md: you can write the challenge statement.
  • /tests/day01.test.ts: the module where you write the tests.

Config

You can configure the automatic input download from Advent of Code by using your session token.

To download the inputs from web, you need to set the environment var AOC_SESSION. You can to get the session token from the cookie web browser.

Also can you set the AOC_YEAR to select a certain year.

(It is not mandatory use the AOC_YEAR, the npm run gen can get the year automatically)

You can set an .env file with these variables.

Folder structure:

├── src
│   └── day01
│       ├── index.ts
│       ├── main.ts
│       ├── part1.ts
│       ├── part2.ts
│       ├── README.md
│       └── resources
│           └── input.txt
└── test
    └── day01.test.ts

Happy coding!

MIT License

About

Typescript template in Node.js for Advent of Code event

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 98.0%
  • EJS 1.6%
  • Other 0.4%