« get me outta code hell

upd8, etc: curated url validation, tidying modes, --format-urls - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/write/tidy-modes/format-urls.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2026-04-12 12:14:23 -0300
committer(quasar) nebula <qznebula@protonmail.com>2026-04-12 12:15:04 -0300
commit0d2481ed8abdb084f5c10984181c2a7355d5208a (patch)
treef039a8ef4def20bb8ac9202bdc85a94dfaec3dbb /src/write/tidy-modes/format-urls.js
parent5fcd8ce38402c6623b57a5dc846c9786a24644f1 (diff)
upd8, etc: curated url validation, tidying modes, --format-urls
Diffstat (limited to 'src/write/tidy-modes/format-urls.js')
-rw-r--r--src/write/tidy-modes/format-urls.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/write/tidy-modes/format-urls.js b/src/write/tidy-modes/format-urls.js
new file mode 100644
index 00000000..5771fe3e
--- /dev/null
+++ b/src/write/tidy-modes/format-urls.js
@@ -0,0 +1,34 @@
+export const description = `Update data files in-place to satisfy formatting rules for curated URLs`;
+
+import {logInfo} from '#cli';
+import {reformatCuratedURLs} from '#reformat-urls';
+
+export async function go({
+  dataPath,
+  tidyingOnly,
+}) {
+  const changedFiles =
+    await reformatCuratedURLs({
+      dataPath,
+      showChangedFiles: true,
+      showSatisfiedRules: tidyingOnly,
+    });
+
+  if (changedFiles.size === 0) {
+    if (tidyingOnly) {
+      logInfo`All URL formatting rules were already satisfied. Good to go!`;
+      return 'clean';
+    } else {
+      logInfo`All curated URL formatting rules are satisfied - nice!`;
+      return 'clean';
+    }
+  } else {
+    const filesPart =
+      (changedFiles.size === 1
+        ? `1 file`
+        : `${changedFiles.size} files`);
+
+    logInfo`Updated ${filesPart} to satisfy URL formatting rules.`;
+    return 'updated';
+  }
+}