make clone work, add static JS files for frontend

79d4a6719b7cafb44aea60b1544f0de50c471a24

Tucker McKnight <tucker.mcknight@gmail.com> | Sun Aug 24 2025

make clone work, add static JS files for frontend
frontend/tsconfig.json:0
Before


⁣
⁣
⁣
⁣
After
-1
0
1
2
{
  "compilerOptions": {
    "outDir": "../dist/frontend",
  }
}
main.ts:21
Before
After
main.ts:166
Before
165
166
167
168
169
170
        size: 1,
        alias: "branchInfo",
      },
      branches: branchesData,
      permalink: (data) => {
        const repoName = data.branchInfo.repoName
        const branchName = data.branchInfo.branchName
After
165
166
167

168
169
        size: 1,
        alias: "branchInfo",
      },
⁣
      permalink: (data) => {
        const repoName = data.branchInfo.repoName
        const branchName = data.branchInfo.branchName
main.ts:221
Before
220
221
222
223
224
225
        size: 1,
        alias: "branchInfo",
      },
      branches: branchesData,
      permalink: (data) => {
        const repoName = data.branchInfo.repoName
        const branchName = data.branchInfo.branchName
After
220
221
222

223
224
        size: 1,
        alias: "branchInfo",
      },
⁣
      permalink: (data) => {
        const repoName = data.branchInfo.repoName
        const branchName = data.branchInfo.branchName
main.ts:248
Before
247
248
249
250
251
252
        size: 1,
        alias: "branch",
      },
      branches: branchesData,
      permalink: (data) => {
        const repoName = data.branch.repoName
        const branchName = data.branch.branchName
After
247
248
249

250
251
        size: 1,
        alias: "branch",
      },
⁣
      permalink: (data) => {
        const repoName = data.branch.repoName
        const branchName = data.branch.branchName
main.ts:265
Before
264
265
266
267
  )
  eleventyConfig.addGlobalData("repos", reposData)
  eleventyConfig.addGlobalData("reposConfig", reposConfiguration)

⁣
}
After
264
265
266
267
268
  )
  eleventyConfig.addGlobalData("repos", reposData)
  eleventyConfig.addGlobalData("reposConfig", reposConfiguration)
  eleventyConfig.addGlobalData("branches", branchesData)

}
make.sh:5
Before
4
5
6
mkdir dist/partial_templates
cp templates/*.njk dist/templates
cp partial_templates/*.njk dist/partial_templates
⁣
After
4
5
6
7
mkdir dist/partial_templates
cp templates/*.njk dist/templates
cp partial_templates/*.njk dist/partial_templates
cp -r vendor dist/
package.json:3
Before
2
3
4
5
6
7
  "version": "1.0.0",
  "main": "dist/main.js",
  "scripts": {
    "build": "./make.sh && npx tsc"
  },
  "keywords": [],
  "author": "",
After
2
3
4
5
6
7
  "version": "1.0.0",
  "main": "dist/main.js",
  "scripts": {
    "build": "./make.sh && npx tsc && npx tsc --project frontend"
  },
  "keywords": [],
  "author": "",
partial_templates/main_bottom.njk:24
Before
23
24
25
26
27
        window.location = `/repos/${values[0]}/branches/${values[1]}/${values[2]}`
      }
    </script>
    <script src="/static/main.js"></script>
  </body>
</html>
After
23
24
25
26
27
        window.location = `/repos/${values[0]}/branches/${values[1]}/${values[2]}`
      }
    </script>
    <script src="/frontend/main.js"></script>
  </body>
</html>
partial_templates/main_top.njk:29
Before
28
29
30
31
32
33
34
    
      {% endif %}
    </script>
    <script src="/static/top.js"></script>
    <link rel="stylesheet" id="prism-theme" type="text/css" href="/prism.css" />
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.5/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-SgOJa3DmI69IUzQ2PVdRZhwQ+dy64/BUtbMJw1MZ8t5HZApcHrRKUc4W0kG879m7" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.6/dist/js/bootstrap.bundle.min.js" integrity="sha384-j1CDi7MgGQ12Z7Qab0qlWQ/Qqz24Gc6BM0thvEMVjHnfYGF0rmFCozFSxQBxwHKO" crossorigin="anonymous"></script>
After
28
29
30
31
32
33
34
    
      {% endif %}
    </script>
    <script src="/frontend/top.js"></script>
    <link rel="stylesheet" id="prism-theme" type="text/css" href="/vendor/prism.css" />
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.5/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-SgOJa3DmI69IUzQ2PVdRZhwQ+dy64/BUtbMJw1MZ8t5HZApcHrRKUc4W0kG879m7" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.6/dist/js/bootstrap.bundle.min.js" integrity="sha384-j1CDi7MgGQ12Z7Qab0qlWQ/Qqz24Gc6BM0thvEMVjHnfYGF0rmFCozFSxQBxwHKO" crossorigin="anonymous"></script>