# Technical Documentation: loiane/javascript-datastructures-algorithms

> ℹ️ **Provenance:** In-Tree Documentation (5 Chapters) · [CodeWiki Reference](https://codewiki.google/github.com/loiane/javascript-datastructures-algorithms) · Recency: Active (< 180 days)

## File: README.md

Learning JavaScript Data Structures and Algorithms
===================================================

# Project Structure

You can find the source code organized by chapter under the `src` folder.

*Each file has the `.js` and the `.ts` extension, so you get both the JavaScript and the Typescript versions of the source code.*

*Each data structure and algorithm from parts 2 and 3 also have a `_test_`* folder where you can find the respective `Jest` test cases.

## How to use this repository

**Install all dependencies**

```
npm install
```

**Run all tests**

```
npm test
```

**Run a particular example**

```
cd src/01-intro
node 01-hello-variables.js
```

or:

```
node src/01-intro/01-hello-variables.js
```

## 💻 Tecnologies

* JavaScript
* TypeScript
* Jest (tests)

Happy Coding!

---

## File: package.json

{
  "name": "javascript-datastructures-algorithms",
  "version": "4.0.0",
  "description": "Learning JavaScript Data Structures and Algorithms",
  "scripts": {
    "build:ts": "tsc -p tsconfig.json",
    "test": "jest"
  },
  "author": "Loiane Groner",
  "devDependencies": {
    "@jest/globals": "^30.5.2",
    "@types/node": "^26.6.4",
    "@typescript/native": "npm:typescript@^7.0.2",
    "jest": "^30.5.2",
    "ts-jest": "^29.4.14",
    "typescript": "npm:@typescript/typescript6@^6.0.2"
  }
}

---

## File: tsconfig.json

{
    "compilerOptions": {
        "target": "ESNext",
        "module": "CommonJS",
        "lib": ["ESNext"],
        "rootDir": "src",
        "strict": true,
        "esModuleInterop": true,
        "forceConsistentCasingInFileNames": true,
        "types": ["node"]
    },
    "include": ["src/**/*"],
    "exclude": [
        "node_modules"
    ]
}

---

## File: .github/dependabot.yml

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"

---

## File: .github/workflows/test.yml

name: Test

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  test:
    name: Test (Node ${{ matrix.node-version }})
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        node-version: [24.x]

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Set up Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}
          cache: npm

      - name: Install dependencies
        run: npm ci

      - name: Run tests
        run: npm test

--- METRICS ---
- Files Extracted: 5
- Estimated Token Budget: ~690 tokens
- Recency Window: Active (< 180 days)
- Canonical Reference: https://codewiki.google/github.com/loiane/javascript-datastructures-algorithms
