From 2fb4c362f34cfe9f0a4118f9afc408ca23382736 Mon Sep 17 00:00:00 2001
From: Cory Dransfeldt <hi@coryd.dev>
Date: Sat, 19 Oct 2024 19:56:23 -0700
Subject: [PATCH] chore: formatting

---
 .eleventy.js | 159 ++++++++++++++++++++++++++------------------------
 server.js    | 161 +++++++++++++++++++++++++++++----------------------
 2 files changed, 177 insertions(+), 143 deletions(-)

diff --git a/.eleventy.js b/.eleventy.js
index 5e0c47d5..381ad0e6 100644
--- a/.eleventy.js
+++ b/.eleventy.js
@@ -1,107 +1,116 @@
-import { createRequire } from 'module'
-import dotenvFlow from 'dotenv-flow'
-import filters from './config/filters/index.js'
-import htmlmin from 'html-minifier-terser'
-import markdownIt from 'markdown-it'
-import markdownItAnchor from 'markdown-it-anchor'
-import markdownItFootnote from 'markdown-it-footnote'
-import markdownItPrism from 'markdown-it-prism'
-import syntaxHighlight from '@11ty/eleventy-plugin-syntaxhighlight'
-import tablerIcons from '@cdransf/eleventy-plugin-tabler-icons'
-import { copyErrorPages, minifyJsComponents } from './config/events/index.js'
-import { albumReleasesCalendar } from './config/collections/index.js'
-import { cssConfig } from './config/plugins/css-config.js'
+import { createRequire } from "module";
+import dotenvFlow from "dotenv-flow";
+import filters from "./config/filters/index.js";
+import htmlmin from "html-minifier-terser";
+import markdownIt from "markdown-it";
+import markdownItAnchor from "markdown-it-anchor";
+import markdownItFootnote from "markdown-it-footnote";
+import markdownItPrism from "markdown-it-prism";
+import syntaxHighlight from "@11ty/eleventy-plugin-syntaxhighlight";
+import tablerIcons from "@cdransf/eleventy-plugin-tabler-icons";
+import { copyErrorPages, minifyJsComponents } from "./config/events/index.js";
+import { albumReleasesCalendar } from "./config/collections/index.js";
+import { cssConfig } from "./config/plugins/css-config.js";
 
 // load .env
-dotenvFlow.config()
+dotenvFlow.config();
 
 // get app version
-const require = createRequire(import.meta.url)
-const appVersion = require('./package.json').version
+const require = createRequire(import.meta.url);
+const appVersion = require("./package.json").version;
 
 export default async function (eleventyConfig) {
-  eleventyConfig.addPlugin(syntaxHighlight)
-  eleventyConfig.addPlugin(tablerIcons)
+  eleventyConfig.addPlugin(syntaxHighlight);
+  eleventyConfig.addPlugin(tablerIcons);
 
-  if (process.env.ELEVENTY_PRODUCTION) eleventyConfig.addPlugin(cssConfig)
+  if (process.env.ELEVENTY_PRODUCTION) eleventyConfig.addPlugin(cssConfig);
 
-  eleventyConfig.setServerOptions({ domdiff: false })
-  eleventyConfig.setWatchThrottleWaitTime(200)
-  eleventyConfig.setQuietMode(true)
-  eleventyConfig.configureErrorReporting({ allowMissingExtensions: true })
+  eleventyConfig.setServerOptions({ domdiff: false });
+  eleventyConfig.setWatchThrottleWaitTime(200);
+  eleventyConfig.setQuietMode(true);
+  eleventyConfig.configureErrorReporting({ allowMissingExtensions: true });
   eleventyConfig.setLiquidOptions({
     jsTruthy: true,
-  })
+  });
 
-  eleventyConfig.addPassthroughCopy('src/assets')
-  eleventyConfig.addPassthroughCopy('_redirects')
-  eleventyConfig.addPassthroughCopy('_headers')
+  eleventyConfig.addPassthroughCopy("src/assets");
+  eleventyConfig.addPassthroughCopy("_redirects");
+  eleventyConfig.addPassthroughCopy("_headers");
   eleventyConfig.addPassthroughCopy({
-    'node_modules/@cdransf/api-text/api-text.js': 'assets/scripts/components/api-text.js',
-    'node_modules/@cdransf/select-pagination/select-pagination.js': 'assets/scripts/components/select-pagination.js',
-    'node_modules/@cdransf/theme-toggle/theme-toggle.js': 'assets/scripts/components/theme-toggle.js',
-    'node_modules/@daviddarnes/mastodon-post/mastodon-post.js': 'assets/scripts/components/mastodon-post.js',
-    'node_modules/minisearch/dist/umd/index.js': 'assets/scripts/components/minisearch.js',
-    'node_modules/youtube-video-element/youtube-video-element.js': 'assets/scripts/components/youtube-video-element.js'
-  })
+    "node_modules/@cdransf/api-text/api-text.js":
+      "assets/scripts/components/api-text.js",
+    "node_modules/@cdransf/select-pagination/select-pagination.js":
+      "assets/scripts/components/select-pagination.js",
+    "node_modules/@cdransf/theme-toggle/theme-toggle.js":
+      "assets/scripts/components/theme-toggle.js",
+    "node_modules/@daviddarnes/mastodon-post/mastodon-post.js":
+      "assets/scripts/components/mastodon-post.js",
+    "node_modules/minisearch/dist/umd/index.js":
+      "assets/scripts/components/minisearch.js",
+    "node_modules/youtube-video-element/youtube-video-element.js":
+      "assets/scripts/components/youtube-video-element.js",
+  });
 
-  eleventyConfig.addCollection('albumReleasesCalendar', albumReleasesCalendar)
+  eleventyConfig.addCollection("albumReleasesCalendar", albumReleasesCalendar);
 
-  const md = markdownIt({ html: true, linkify: true })
+  const md = markdownIt({ html: true, linkify: true });
   md.use(markdownItAnchor, {
     level: [1, 2],
     permalink: markdownItAnchor.permalink.headerLink({
       safariReaderFix: true,
     }),
-  })
-  md.use(markdownItFootnote)
-  md.use(markdownItPrism)
-  eleventyConfig.setLibrary('md', md)
+  });
+  md.use(markdownItFootnote);
+  md.use(markdownItPrism);
+  eleventyConfig.setLibrary("md", md);
 
-  eleventyConfig.addLiquidFilter('markdown', (content) => {
-    if (!content) return
-    return md.render(content)
-  })
+  eleventyConfig.addLiquidFilter("markdown", (content) => {
+    if (!content) return;
+    return md.render(content);
+  });
 
   Object.keys(filters).forEach((filterName) => {
-    eleventyConfig.addLiquidFilter(filterName, filters[filterName])
-  })
+    eleventyConfig.addLiquidFilter(filterName, filters[filterName]);
+  });
 
-  eleventyConfig.addShortcode('appVersion', () => appVersion)
+  eleventyConfig.addShortcode("appVersion", () => appVersion);
 
   // events
-  if (process.env.ELEVENTY_PRODUCTION) eleventyConfig.on('afterBuild', copyErrorPages)
-  if (process.env.ELEVENTY_PRODUCTION) eleventyConfig.on('afterBuild', minifyJsComponents)
+  if (process.env.ELEVENTY_PRODUCTION)
+    eleventyConfig.on("afterBuild", copyErrorPages);
+  if (process.env.ELEVENTY_PRODUCTION)
+    eleventyConfig.on("afterBuild", minifyJsComponents);
 
   // transforms
-  if (process.env.ELEVENTY_PRODUCTION) eleventyConfig.addTransform('html-minify', (content, path) => {
-    if (path && path.endsWith('.html')) {
-      return htmlmin.minify(content, {
-        collapseBooleanAttributes: true,
-        collapseWhitespace: true,
-        decodeEntities: true,
-        includeAutoGeneratedTags: false,
-        minifyCSS: true,
-        minifyJS: true,
-        minifyURLs: true,
-        noNewlinesBeforeTagClose: true,
-        quoteCharacter: '"',
-        removeComments: true,
-        sortAttributes: true,
-        sortClassName: true,
-        useShortDoctype: true,
-      })
-    }
-    return content
-  })
+  if (process.env.ELEVENTY_PRODUCTION)
+    eleventyConfig.addTransform("html-minify", (content, path) => {
+      if (path && path.endsWith(".html")) {
+        return htmlmin.minify(content, {
+          collapseBooleanAttributes: true,
+          collapseWhitespace: true,
+          decodeEntities: true,
+          includeAutoGeneratedTags: false,
+          minifyCSS: true,
+          minifyJS: true,
+          minifyURLs: true,
+          noNewlinesBeforeTagClose: true,
+          quoteCharacter: '"',
+          removeComments: true,
+          sortAttributes: true,
+          sortClassName: true,
+          useShortDoctype: true,
+        });
+      }
+      return content;
+    });
 
   return {
     passthroughFileCopy: true,
     dir: {
-      input: 'src',
-      includes: 'includes',
-      data: 'data',
-      output: '_site',
+      input: "src",
+      includes: "includes",
+      data: "data",
+      output: "_site",
     },
-  }
-}
\ No newline at end of file
+  };
+}
diff --git a/server.js b/server.js
index 1ca4c0a2..158de43f 100644
--- a/server.js
+++ b/server.js
@@ -1,60 +1,79 @@
-import express from 'express'
-import { createProxyMiddleware } from 'http-proxy-middleware'
-import path from 'path'
-import { fileURLToPath } from 'url'
-import { spawn } from 'child_process'
+import express from "express";
+import { createProxyMiddleware } from "http-proxy-middleware";
+import path from "path";
+import { fileURLToPath } from "url";
+import { spawn } from "child_process";
 
-const __filename = fileURLToPath(import.meta.url)
-const __dirname = path.dirname(__filename)
-const PORT = 8080
-const ELEVENTY_PORT = 8081
-const WORKER_PORT = 8787
-const WORKER_ENTRY = './workers/dynamic-pages/index.js'
+const __filename = fileURLToPath(import.meta.url);
+const __dirname = path.dirname(__filename);
+const PORT = 8080;
+const ELEVENTY_PORT = 8081;
+const WORKER_PORT = 8787;
+const WORKER_ENTRY = "./workers/dynamic-pages/index.js";
 
 const startProcess = (command, args, name) => {
-  console.log(`Starting ${name}...`)
-  const process = spawn(command, args, { stdio: 'inherit' })
+  console.log(`Starting ${name}...`);
+  const process = spawn(command, args, { stdio: "inherit" });
 
-  process.on('error', err => {
-    console.error(`${name} error: ${err.message}`)
-    process.exit(1)
-  })
+  process.on("error", (err) => {
+    console.error(`${name} error: ${err.message}`);
+    process.exit(1);
+  });
 
-  process.on('exit', code => {
-    console.log(`${name} exited with code ${code}`)
-    if (code !== 0) process.exit(code)
-  })
+  process.on("exit", (code) => {
+    console.log(`${name} exited with code ${code}`);
+    if (code !== 0) process.exit(code);
+  });
 
-  return process
-}
+  return process;
+};
 
 const startEleventy = () =>
-  startProcess('npx', ['eleventy', '--serve', '--port', ELEVENTY_PORT], 'Eleventy')
+  startProcess(
+    "npx",
+    ["eleventy", "--serve", "--port", ELEVENTY_PORT],
+    "Eleventy"
+  );
 
 const startWorker = () =>
-  startProcess('npx', ['wrangler', 'dev', WORKER_ENTRY, '--port', WORKER_PORT], 'Wrangler Worker')
+  startProcess(
+    "npx",
+    ["wrangler", "dev", WORKER_ENTRY, "--port", WORKER_PORT],
+    "Wrangler Worker"
+  );
 
-const app = express()
+const app = express();
 
 app.use((req, res, next) => {
-  if (req.path === '/js/script.js') {
-    res.setHeader('Content-Type', 'application/javascript')
-    return res.send('')
+  if (req.path === "/js/script.js") {
+    res.setHeader("Content-Type", "application/javascript");
+    return res.send("");
   }
-  if (req.path.endsWith('.css')) res.setHeader('Content-Type', 'text/css')
-  else if (req.path.endsWith('.js')) res.setHeader('Content-Type', 'application/javascript')
-  else if (req.path.endsWith('.json')) res.setHeader('Content-Type', 'application/json')
-  else if (req.path.startsWith('/api/')) res.setHeader('Content-Type', 'application/json')
-  else if (req.path.startsWith('/feeds/all')) res.setHeader('Content-Type', 'application/xml')
-  else if (req.path.startsWith('/feeds/books')) res.setHeader('Content-Type', 'application/xml')
-  else if (req.path.startsWith('/feeds/links')) res.setHeader('Content-Type', 'application/xml')
-  else if (req.path.startsWith('/feeds/movies')) res.setHeader('Content-Type', 'application/xml')
-  else if (req.path.startsWith('/feeds/posts')) res.setHeader('Content-Type', 'application/xml')
-  else if (req.path.startsWith('/feeds/syndication')) res.setHeader('Content-Type', 'application/xml')
-  next()
-})
+  if (req.path.endsWith(".css")) res.setHeader("Content-Type", "text/css");
+  else if (req.path.endsWith(".js"))
+    res.setHeader("Content-Type", "application/javascript");
+  else if (req.path.endsWith(".json"))
+    res.setHeader("Content-Type", "application/json");
+  else if (req.path.startsWith("/api/"))
+    res.setHeader("Content-Type", "application/json");
+  else if (req.path.startsWith("/feeds/all"))
+    res.setHeader("Content-Type", "application/xml");
+  else if (req.path.startsWith("/feeds/books"))
+    res.setHeader("Content-Type", "application/xml");
+  else if (req.path.startsWith("/feeds/links"))
+    res.setHeader("Content-Type", "application/xml");
+  else if (req.path.startsWith("/feeds/movies"))
+    res.setHeader("Content-Type", "application/xml");
+  else if (req.path.startsWith("/feeds/posts"))
+    res.setHeader("Content-Type", "application/xml");
+  else if (req.path.startsWith("/feeds/syndication"))
+    res.setHeader("Content-Type", "application/xml");
+  next();
+});
 
-app.use(express.static(path.join(__dirname, '_site'), { extensions: ['html'] }))
+app.use(
+  express.static(path.join(__dirname, "_site"), { extensions: ["html"] })
+);
 
 const proxy = createProxyMiddleware({
   target: `http://localhost:${WORKER_PORT}`,
@@ -62,48 +81,54 @@ const proxy = createProxyMiddleware({
   ws: true,
   pathRewrite: (path, req) => req.originalUrl,
   onError: (err, req, res) => {
-    console.error(`Proxy error: ${err.message}`)
-    res.status(504).send('Worker timeout or unreachable')
+    console.error(`Proxy error: ${err.message}`);
+    res.status(504).send("Worker timeout or unreachable");
   },
-})
+});
 
 app.use(
-  ['/watching/movies', '/watching/shows', '/music/artists', '/music/genres', '/books'],
+  [
+    "/watching/movies",
+    "/watching/shows",
+    "/music/artists",
+    "/music/genres",
+    "/books",
+  ],
   proxy
-)
+);
 
 app.use((req, res) => {
-  res.status(404).sendFile(path.join(__dirname, '_site', '404.html'), err => {
-    if (err) res.status(404).send('Page not found')
-  })
-})
+  res.status(404).sendFile(path.join(__dirname, "_site", "404.html"), (err) => {
+    if (err) res.status(404).send("Page not found");
+  });
+});
 
 const startServer = () => {
   const server = app.listen(PORT, () => {
-    console.log(`Server running at http://localhost:${PORT}`)
-  })
+    console.log(`Server running at http://localhost:${PORT}`);
+  });
 
   const shutdown = () => {
-    console.log('Shutting down...')
+    console.log("Shutting down...");
     server.close(() => {
-      console.log('Express server closed')
-      process.exit(0)
-    })
-  }
+      console.log("Express server closed");
+      process.exit(0);
+    });
+  };
 
-  process.on('SIGINT', shutdown)
-  process.on('SIGTERM', shutdown)
-}
+  process.on("SIGINT", shutdown);
+  process.on("SIGTERM", shutdown);
+};
 
 const initialize = async () => {
   try {
-    startEleventy()
-    startWorker()
-    startServer()
+    startEleventy();
+    startWorker();
+    startServer();
   } catch (err) {
-    console.error(`Initialization error: ${err.message}`)
-    process.exit(1)
+    console.error(`Initialization error: ${err.message}`);
+    process.exit(1);
   }
-}
+};
 
-initialize()
\ No newline at end of file
+initialize();