Commit ea4149c for jssip.net

commit ea4149cffee508df02988d21ee95afc81e9354b0
Author: José Luis Millán <jmillan@aliax.net>
Date:   Tue Feb 3 17:59:32 2026 +0100

    Add typedoc

diff --git a/npm-scripts.mjs b/npm-scripts.mjs
index c47c08d..0f6b3ab 100644
--- a/npm-scripts.mjs
+++ b/npm-scripts.mjs
@@ -86,6 +86,27 @@ async function run() {
 			break;
 		}

+		case 'docs': {
+			generateDocs();
+
+			break;
+		}
+
+		case 'docs:watch': {
+			generateDocs();
+
+			executeCmd('open-cli docs/index.html');
+			executeCmd('typedoc --watch');
+
+			break;
+		}
+
+		case 'docs:check': {
+			checkDocs();
+
+			break;
+		}
+
 		default: {
 			throw new TypeError(`unknown task "${task}"`);
 		}
@@ -199,6 +220,18 @@ function deleteLib() {
 	fs.rmSync('lib', { recursive: true, force: true });
 }

+function generateDocs() {
+	logInfo('generateDocs()');
+
+	executeCmd('typedoc');
+}
+
+function checkDocs() {
+	logInfo('checkDocs()');
+
+	executeCmd('typedoc --emit none');
+}
+
 function executeCmd(command) {
 	// eslint-disable-next-line no-console
 	console.log(`npm-scripts.js [INFO] executing command: ${command}`);
diff --git a/package.json b/package.json
index d8909bd..027dbda 100644
--- a/package.json
+++ b/package.json
@@ -39,7 +39,10 @@
 		"coverage": "node npm-scripts.mjs coverage",
 		"build": "node npm-scripts.mjs build",
 		"typescript:build": "node npm-scripts.mjs typescript:build",
-		"release": "node npm-scripts.js release"
+		"release": "node npm-scripts.js release",
+		"docs": "node npm-scripts.mjs docs",
+		"docs:watch": "node npm-scripts.mjs docs:watch",
+		"docs:check": "node npm-scripts.mjs docs:check"
 	},
 	"dependencies": {
 		"debug": "^4.3.1",
@@ -65,6 +68,7 @@
 		"pegjs": "^0.7.0",
 		"prettier": "^3.8.1",
 		"ts-jest": "^29.4.6",
+		"typedoc": "^0.28.16",
 		"typescript": "^5.9.3",
 		"typescript-eslint": "^8.53.1"
 	}