Add typedoc and add more specific build commands

645f473cf457475af466ea3301d01ed03339b3ef

Tucker McKnight <tucker@pangolin.lan> | Sun Oct 05 2025

Add typedoc and add more specific build commands
make.sh:1
Before
0
1
2
3
4
5
6
7
#!/bin/bash
rm -R dist schemas
mkdir dist
mkdir dist/templates
mkdir dist/partial_templates
mkdir schemas
cp templates/*.njk dist/templates
cp partial_templates/*.njk dist/partial_templates
cp -r vendor dist/
After
0
1

2
3

4
5
#!/bin/bash
mkdir -p dist
⁣
mkdir -p dist/templates
mkdir -p dist/partial_templates
⁣
cp templates/*.njk dist/templates
cp partial_templates/*.njk dist/partial_templates
cp -r vendor dist/
package-lock.json:16
Before
15
16
17

18
19
20













21
22
      "devDependencies": {
        "@types/node": "^24.0.7",
        "ts-json-schema-generator": "^2.4.0",
⁣
        "typescript": "^5.8.3"
      }
    },
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
    "node_modules/@isaacs/balanced-match": {
      "version": "4.0.1",
      "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
After
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
      "devDependencies": {
        "@types/node": "^24.0.7",
        "ts-json-schema-generator": "^2.4.0",
        "typedoc": "^0.28.13",
        "typescript": "^5.8.3"
      }
    },
    "node_modules/@gerrit0/mini-shiki": {
      "version": "3.13.0",
      "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.13.0.tgz",
      "integrity": "sha512-mCrNvZNYNrwKer5PWLF6cOc0OEe2eKzgy976x+IT2tynwJYl+7UpHTSeXQJGijgTcoOf+f359L946unWlYRnsg==",
      "dev": true,
      "dependencies": {
        "@shikijs/engine-oniguruma": "^3.13.0",
        "@shikijs/langs": "^3.13.0",
        "@shikijs/themes": "^3.13.0",
        "@shikijs/types": "^3.13.0",
        "@shikijs/vscode-textmate": "^10.0.2"
      }
    },
    "node_modules/@isaacs/balanced-match": {
      "version": "4.0.1",
      "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
package-lock.json:77
Before
76
77
78






79
80
        "undici-types": "~7.8.0"
      }
    },
⁣
⁣
⁣
⁣
⁣
⁣
    "node_modules/ajv": {
      "version": "8.17.1",
      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
After
76
77
78
79
80
81
82
83
84
85
86
        "undici-types": "~7.8.0"
      }
    },
    "node_modules/@types/unist": {
      "version": "3.0.3",
      "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
      "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
      "dev": true
    },
    "node_modules/ajv": {
      "version": "8.17.1",
      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
package-lock.json:187
Before
186
187
188












189
190
      "dev": true,
      "license": "MIT"
    },
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
    "node_modules/fast-deep-equal": {
      "version": "3.1.3",
      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
After
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
      "dev": true,
      "license": "MIT"
    },
    "node_modules/entities": {
      "version": "4.5.0",
      "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
      "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
      "dev": true,
      "engines": {
        "node": ">=0.12"
      },
      "funding": {
        "url": "https://github.com/fb55/entities?sponsor=1"
      }
    },
    "node_modules/fast-deep-equal": {
      "version": "3.1.3",
      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
package-lock.json:302
Before
301
302
303









304
305
        "node": ">=6"
      }
    },
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
    "node_modules/lodash": {
      "version": "4.17.21",
      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
After
301
302
303
304
305
306
307
308
309
310
311
312
313
314
        "node": ">=6"
      }
    },
    "node_modules/linkify-it": {
      "version": "5.0.0",
      "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
      "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
      "dev": true,
      "dependencies": {
        "uc.micro": "^2.0.0"
      }
    },
    "node_modules/lodash": {
      "version": "4.17.21",
      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
package-lock.json:388
Before
387
388
389









390
391
        "url": "https://github.com/sponsors/isaacs"
      }
    },
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
    "node_modules/require-from-string": {
      "version": "2.0.2",
      "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
After
387
388
389
390
391
392
393
394
395
396
397
398
399
400
        "url": "https://github.com/sponsors/isaacs"
      }
    },
    "node_modules/punycode.js": {
      "version": "2.3.1",
      "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
      "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
      "dev": true,
      "engines": {
        "node": ">=6"
      }
    },
    "node_modules/require-from-string": {
      "version": "2.0.2",
      "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
package-lock.json:591
Before
590
591
592






593
594
        "node": ">=14.17"
      }
    },
⁣
⁣
⁣
⁣
⁣
⁣
    "node_modules/undici-types": {
      "version": "7.8.0",
      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz",
After
590
591
592
593
594
595
596
597
598
599
600
        "node": ">=14.17"
      }
    },
    "node_modules/uc.micro": {
      "version": "2.1.0",
      "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
      "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
      "dev": true
    },
    "node_modules/undici-types": {
      "version": "7.8.0",
      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz",
package-lock.json:711
Before
710
711
712
713












714
      "engines": {
        "node": ">=8"
      }
    }
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
⁣
  }
}
After
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/yaml": {
      "version": "2.8.1",
      "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz",
      "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==",
      "dev": true,
      "bin": {
        "yaml": "bin.mjs"
      },
      "engines": {
        "node": ">= 14.6"
      }
    }
  }
}
package.json:4
Before
3
4
5




6
7
8
  "version": "0.0.1-alpha.1",
  "main": "dist/main.js",
  "scripts": {
⁣
⁣
⁣
⁣
    "build": "./make.sh && npx ts-json-schema-generator --path src/configTypes.ts --type ReposConfiguration > schemas/ReposConfiguration.json && npx tsc && npx tsc --project frontend"
  },
  "keywords": [],
  "author": "",
After
3
4
5
6
7
8
9
10
11
12
  "version": "0.0.1-alpha.1",
  "main": "dist/main.js",
  "scripts": {
    "build": "npm run schemas && npm run ts && npm run ts-frontend && npm run docs",
    "ts": "./make.sh && npx tsc",
    "ts-frontend": "npx tsc --project frontend",
    "schemas": "npx ts-json-schema-generator --path src/configTypes.ts --type ReposConfiguration > schemas/ReposConfiguration.json",
    "docs": "npx typedoc src/configTypes.ts --readme none"
  },
  "keywords": [],
  "author": "",
package.json:13
Before
12
13
14

15
16
  "devDependencies": {
    "@types/node": "^24.0.7",
    "ts-json-schema-generator": "^2.4.0",
⁣
    "typescript": "^5.8.3"
  },
  "dependencies": {
After
12
13
14
15
16
17
  "devDependencies": {
    "@types/node": "^24.0.7",
    "ts-json-schema-generator": "^2.4.0",
    "typedoc": "^0.28.13",
    "typescript": "^5.8.3"
  },
  "dependencies": {