From 11cea55569e80bff59ce995abe0041858b460a99 Mon Sep 17 00:00:00 2001 From: zomo Date: Wed, 10 Dec 2025 13:36:15 -0600 Subject: [PATCH] readme file now shows the script's url matches --- lib/readmefile.js | 22 +++++++++++++++++++++- lib/readmefile.js.map | 2 +- package.json | 2 +- src/readmefile.ts | 30 +++++++++++++++++++++++++++++- tsconfig.json | 4 ++-- 5 files changed, 54 insertions(+), 6 deletions(-) diff --git a/lib/readmefile.js b/lib/readmefile.js index 57e7be1..ce9e7ca 100644 --- a/lib/readmefile.js +++ b/lib/readmefile.js @@ -26,13 +26,33 @@ function readmeDataErrorString(error) { .join('\n'); return `\n\n${error}`; } +function arrayify(val) { + let newval = Array.isArray(val) ? val : [val]; + return newval.map(v => v.trim()).filter(v => v); +} +function readmeDataMatches(meta) { + const matches = arrayify(meta.match).map(v => '`' + v + '`'); + const matchesStr = ` + - ${matches.join(',')}`; + if (matches.length === 0) { + return ''; + } + const excludes = arrayify(meta.excludematch).map(v => '`' + v + '`'); + const excludesStr = ` + - excluding: ${excludes.join(',')}`; + if (excludes.length === 0) { + return matchesStr; + } + return matchesStr + excludesStr; +} function readmeDataToString(results) { let { meta, error } = results; let errStr = error !== null ? '~~' : ''; let errMsg = readmeDataErrorString(error); + const matchesStr = readmeDataMatches(meta); return ` - ${errStr}[${meta.name}](${meta.downloadURL})${errStr}${errMsg} - - ${meta.namespace} ${meta.version} + - **${meta.namespace}** v${meta.version}${matchesStr} - ${meta.description} `.trim(); } diff --git a/lib/readmefile.js.map b/lib/readmefile.js.map index 4b54270..56add16 100644 --- a/lib/readmefile.js.map +++ b/lib/readmefile.js.map @@ -1 +1 @@ -{"version":3,"file":"readmefile.js","sourceRoot":"","sources":["../src/readmefile.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"readmefile.js","sourceRoot":"","sources":["../src/readmefile.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 21a9237..205c607 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "browser-scripts-builder", - "version": "1.1.6", + "version": "1.1.7", "description": "", "main": "./lib/main.js", "module": "./lib/main.js", diff --git a/src/readmefile.ts b/src/readmefile.ts index 90666fd..dc15d56 100644 --- a/src/readmefile.ts +++ b/src/readmefile.ts @@ -1,5 +1,6 @@ import { readdirSync, readFileSync, writeFileSync } from 'fs' import { runBuildResult } from './build' +import { UserScriptMetaFull, UserScriptMetaMultiple } from './types' export function updateReadmeFile(fileList: runBuildResult[]) { let readmeFile = getReadmeFileName() @@ -28,13 +29,40 @@ function readmeDataErrorString(error: string | null): string { return `\n\n${error}` } +function arrayify(val: UserScriptMetaMultiple): string[] { + let newval = Array.isArray(val) ? val : [val] + return newval.map(v => v.trim()).filter(v => v) +} + +function readmeDataMatches(meta: UserScriptMetaFull): string { + const matches = arrayify(meta.match).map(v => '`' + v + '`') + const matchesStr = ` + - ${matches.join(',')}` + + if (matches.length === 0) { + return '' + } + + const excludes = arrayify(meta.excludematch).map(v => '`' + v + '`') + const excludesStr = ` + - excluding: ${excludes.join(',')}` + + if (excludes.length === 0) { + return matchesStr + } + + return matchesStr + excludesStr +} + function readmeDataToString(results: runBuildResult): string { let { meta, error } = results let errStr = error !== null ? '~~' : '' let errMsg = readmeDataErrorString(error) + const matchesStr = readmeDataMatches(meta) + return ` - ${errStr}[${meta.name}](${meta.downloadURL})${errStr}${errMsg} - - ${meta.namespace} ${meta.version} + - **${meta.namespace}** v${meta.version}${matchesStr} - ${meta.description} `.trim() } diff --git a/tsconfig.json b/tsconfig.json index 2d7f543..555129a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "target": "es2020", - "module": "commonjs", + "module": "node16", "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "skipLibCheck": true, @@ -12,6 +12,6 @@ "sourceMap": true, "rootDir": "./src", "outDir": "./lib", - "moduleResolution": "node" + "moduleResolution": "node16" } }