« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/common-util/wiki-data.js2
-rw-r--r--src/content/dependencies/generatePageLayout.js2
-rw-r--r--src/data/cacheable-object.js5
-rw-r--r--src/data/composite.js10
-rw-r--r--src/data/composite/things/contribution/withContainingReverseContributionList.js2
-rw-r--r--src/data/things/MusicVideo.js1
-rw-r--r--src/static/css/search.css4
-rw-r--r--src/static/js/client/index.js7
-rw-r--r--src/static/js/client/sidebar-search.js4
-rw-r--r--src/web-routes.js1
10 files changed, 23 insertions, 15 deletions
diff --git a/src/common-util/wiki-data.js b/src/common-util/wiki-data.js
index ff325b7a..74222e9e 100644
--- a/src/common-util/wiki-data.js
+++ b/src/common-util/wiki-data.js
@@ -575,7 +575,7 @@ export function* matchMarkdownLinks(markdownSource, {marked}) {
   // This is just an optimization. Don't let Marked try to process tokens
   // recursively, i.e. within the text/label of the link. We only care about
   // the text itself, as a string.
-  lexer.inlineTokens = x => [];
+  lexer.inlineTokens = _x => [];
 
   // This is cheating, because the lexer's tokenizer is a private property,
   // but we can apparently access it anyway.
diff --git a/src/content/dependencies/generatePageLayout.js b/src/content/dependencies/generatePageLayout.js
index fec3bd78..300d256d 100644
--- a/src/content/dependencies/generatePageLayout.js
+++ b/src/content/dependencies/generatePageLayout.js
@@ -741,7 +741,7 @@ export default {
             slottedStyleTags,
 
             html.tag('script', {
-              src: to('staticLib.path', 'chroma-js/chroma.min.js'),
+              src: to('staticLib.path', 'chroma-js/chroma.min.cjs'),
             }),
 
             html.tag('script', {
diff --git a/src/data/cacheable-object.js b/src/data/cacheable-object.js
index 0071c60d..f63fe4bd 100644
--- a/src/data/cacheable-object.js
+++ b/src/data/cacheable-object.js
@@ -50,7 +50,10 @@ export default class CacheableObject {
       if (!flags.update) continue;
 
       if (typeof update === 'object' && update !== null && 'default' in update) {
-        validatePropertyValue(property, null, update.default, update);
+        if (update.validate) {
+          validatePropertyValue(property, null, update.default, update);
+        }
+
         this.prototype[CacheableObject.updateValue][property] = update.default;
       } else {
         this.prototype[CacheableObject.updateValue][property] = null;
diff --git a/src/data/composite.js b/src/data/composite.js
index 3b462ef5..a1b6548b 100644
--- a/src/data/composite.js
+++ b/src/data/composite.js
@@ -407,9 +407,9 @@ export function templateCompositeFrom(description) {
         }
       }
 
-      const inputAppearance = name =>
-        (isInputToken(preparedInputs[name])
-          ? `${getInputTokenShape(preparedInputs[name])}() call`
+      const inputAppearance = token =>
+        (isInputToken(token)
+          ? `${getInputTokenShape(token)}() call`
           : `dependency name`);
 
       if (!empty(misplacedInputNames)) {
@@ -425,8 +425,8 @@ export function templateCompositeFrom(description) {
       }
 
       for (const index of namedAndPositionalConflictInputPositions) {
-        const conflictingName = positionalInputNames[index];
-        push(new Error(`${name}: Provided as both named and positional (i = ${index}) input`));
+        const conflictingName = positionalInputs[index];
+        push(new Error(`${conflictingName}: Provided as both named and positional (i = ${index}) input`));
       }
 
       for (const {skipped, before} of skippedInputNames) {
diff --git a/src/data/composite/things/contribution/withContainingReverseContributionList.js b/src/data/composite/things/contribution/withContainingReverseContributionList.js
index d8288b17..c600707c 100644
--- a/src/data/composite/things/contribution/withContainingReverseContributionList.js
+++ b/src/data/composite/things/contribution/withContainingReverseContributionList.js
@@ -3,7 +3,7 @@
 // current contribution is dateless, the list is filtered to only include
 // dateless contributions from the same immediately nearby context.
 
-import {input, templateCompositeFrom} from '#composite';
+import {templateCompositeFrom} from '#composite';
 
 import {raiseOutputWithoutDependency, withResultOfAvailabilityCheck}
   from '#composite/control-flow';
diff --git a/src/data/things/MusicVideo.js b/src/data/things/MusicVideo.js
index a7eba04c..acdfaa2b 100644
--- a/src/data/things/MusicVideo.js
+++ b/src/data/things/MusicVideo.js
@@ -10,7 +10,6 @@ import {constituteFrom} from '#composite/wiki-data';
 
 import {
   exposeConstant,
-  exposeDependency,
   exposeUpdateValueOrContinue,
   exposeWhetherDependencyAvailable,
   exitWithoutDependency,
diff --git a/src/static/css/search.css b/src/static/css/search.css
index 92925f55..3c56eed6 100644
--- a/src/static/css/search.css
+++ b/src/static/css/search.css
@@ -356,7 +356,7 @@
   /* Shadow along top edge */
 
   .wiki-search-results-container > :first-child {
-    margin-top: -6px;
+    margin-top: -4px;
   }
 
   .wiki-search-results-container::before {
@@ -368,7 +368,7 @@
   /* Shadow along bottom edge */
 
   .wiki-search-results-container > :last-child {
-    margin-bottom: -12px;
+    margin-bottom: -10px;
   }
 
   .wiki-search-results-container::after {
diff --git a/src/static/js/client/index.js b/src/static/js/client/index.js
index cd617bea..9296dff1 100644
--- a/src/static/js/client/index.js
+++ b/src/static/js/client/index.js
@@ -60,6 +60,7 @@ const clientInfo = window.hsmusicClientInfo = Object.create(null);
 // So for example, all modules' getPageReferences steps are evaluated, then
 // all modules' addInternalListeners steps are evaluated, and so on.
 const setupSteps = {
+  bindSessionStorage: [],
   getPageReferences: [],
   addInternalListeners: [],
   mutatePageContent: [],
@@ -322,7 +323,11 @@ function evaluateBindSessionStorageStep(bindSessionStorage) {
 function evaluateStep(stepsObject, key) {
   for (const step of stepsObject[key]) {
     try {
-      step();
+      if (key === 'bindSessionStorage') {
+        evaluateBindSessionStorageStep(step);
+      } else {
+        step();
+      }
     } catch (error) {
       console.error(`During ${key}, failed to run ${step.name}`);
       console.error(error);
diff --git a/src/static/js/client/sidebar-search.js b/src/static/js/client/sidebar-search.js
index 7b01cb00..386bf477 100644
--- a/src/static/js/client/sidebar-search.js
+++ b/src/static/js/client/sidebar-search.js
@@ -615,7 +615,7 @@ export function addPageListeners() {
       return;
     }
 
-    if (event.shiftKey && event.code === 'Slash') {
+    if (domEvent.shiftKey && domEvent.code === 'Slash') {
       domEvent.preventDefault();
       info.searchLabel.click();
     }
@@ -785,7 +785,7 @@ function recordActiveQueryContext() {
 }
 
 function clearSidebarSearch() {
-  const {session, state} = info;
+  const {state} = info;
 
   if (state.stoppedTypingTimeout) {
     clearTimeout(state.stoppedTypingTimeout);
diff --git a/src/web-routes.js b/src/web-routes.js
index a7115bbd..2bd8c134 100644
--- a/src/web-routes.js
+++ b/src/web-routes.js
@@ -65,6 +65,7 @@ function quickNodeDependency({
 export const dependencyRoutes = [
   quickNodeDependency({
     name: 'chroma-js',
+    path: 'dist',
   }),
 
   quickNodeDependency({