My personal site cherry.computer
htmx tailwind axum askama

build: output module instead of iife

This allows us to actually use top-level await if we want, and
modernises the output too I guess. Not sure if this is really necessary,
I mostly did it as part of silencing some ESLint errors that were
ultimately resolved differently anyway.

cherry.computer 3f4bae54 0691a6a3

verified
+4 -3
+1 -1
frontend/esbuild.js
··· 1 1 // @ts-check 2 - /* eslint-env node */ 3 2 import browserslist from "browserslist"; 4 3 import esbuild from "esbuild"; 5 4 import { esbuildPluginBrowserslist } from "esbuild-plugin-browserslist"; ··· 11 10 const baseOptions = { 12 11 entryPoints: ["src/ts/main.ts"], 13 12 bundle: true, 13 + format: "esm", 14 14 logLevel: "info", 15 15 plugins: [ 16 16 esbuildPluginBrowserslist(browserslist(), { printUnknownTargets: false }),
+1 -1
frontend/index.html
··· 5 5 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 6 <link rel="stylesheet" href="build/app.css" /> 7 7 <link rel="me" href="https://hachyderm.io/@cherry" /> 8 - <script defer src="build/app.js"></script> 8 + <script defer src="build/app.js" type="module"></script> 9 9 </head> 10 10 <body> 11 11 <div class="header-container">
+2 -1
frontend/tsconfig.json
··· 2 2 "compilerOptions": { 3 3 "noEmit": true, 4 4 "strict": true, 5 - "esModuleInterop": true 5 + "esModuleInterop": true, 6 + "module": "nodenext" 6 7 }, 7 8 "include": ["src/ts/**/*.ts"] 8 9 }