it compiled

This commit is contained in:
2022-06-08 09:07:09 -05:00
parent 1884c2b8e9
commit ffe6969889
12 changed files with 996 additions and 1130 deletions

61
src/readmefile.ts Normal file
View File

@@ -0,0 +1,61 @@
import { readdirSync, readFileSync, writeFileSync } from 'fs'
import { UserScriptMetaFull } from './types'
export interface readmeData {
meta: UserScriptMetaFull
error: string | null
}
export function updateReadmeFile(fileList: readmeData[]) {
let readmeFile = getReadmeFileName()
if (readmeFile !== null) {
let [readmeStart, readmeEnd] = readReadmeFile(readmeFile)
let installLinks = fileList.map(readmeDataToString).join('\n')
let installLinksAll = `
<!-- START INSTALL LINKS -->
## Installs
${installLinks}
<!-- END INSTALL LINKS -->
`
let content = [readmeStart, installLinksAll, readmeEnd].join('\n')
writeFileSync(readmeFile, content)
}
}
function readmeDataToString(readmeData: readmeData): string {
let { meta, error } = readmeData
let errStr = error !== null ? '~~' : ''
let errMsg = error !== null ? `\n - ${error}` : ''
return `- ${errStr}[${meta.name}](${meta.downloadURL})})${errStr}${errMsg}`
}
function getReadmeFileName(): string | null {
let files = readdirSync('.')
for (let name of files) {
if (/^readme\.md$/i.test(name)) {
return name
}
}
return null
}
function readReadmeFile(readmeFile: string): [string, string] {
let content = readFileSync(readmeFile).toString()
const regex =
/<!-- START INSTALL LINKS -->(?:.|\n)*?<!-- END INSTALL LINKS -->/
const index = regex.exec(content)?.index
if (index === undefined) {
if (!content.endsWith('\n')) {
content += '\n'
}
return [content, '']
}
content = content.replace(regex, '')
return [content.slice(0, index), content.slice(index)]
}