changed function returns to objects

This commit is contained in:
2022-06-10 23:04:18 -05:00
parent d00ddeb1e1
commit 29b40b4e43
12 changed files with 78 additions and 65 deletions

View File

@@ -6,12 +6,17 @@ import readMeta from './readmeta'
import { format, resolveConfig } from 'prettier'
import { CLIArgs } from './main'
export default function (
export default interface runBuild {
meta: UserScriptMetaFull
error: string | null
}
export default function runBuild(
name: string,
watchCallback: (meta: UserScriptMetaFull, error: string | null) => void
): [UserScriptMetaFull, string | null] {
watchCallback: (result: runBuild) => void
) {
//read meta file
let [metaJson, metaString] = readMeta(name)
let { meta, metaString } = readMeta(name)
let pathDist = DistPath(name)
let result = runEsbuild(
@@ -27,24 +32,30 @@ export default function (
minify: CLIArgs.minify,
define: {
UserScriptName: `'${metaJson.name}'`,
UserScriptNamespace: `'${metaJson.namespace}'`,
UserScriptVersion: `'${metaJson.version}'`,
UserScriptName: `'${meta.name}'`,
UserScriptNamespace: `'${meta.namespace}'`,
UserScriptVersion: `'${meta.version}'`,
UserScriptDownloadURL: `'${metaJson.downloadURL}'`,
UserScriptSupportURL: `'${metaJson.supportURL}'`,
UserScriptHomepageURL: `'${metaJson.homepageURL}'`,
UserScriptDownloadURL: `'${meta.downloadURL}'`,
UserScriptSupportURL: `'${meta.supportURL}'`,
UserScriptHomepageURL: `'${meta.homepageURL}'`,
},
},
result => {
let error = postBuild(name, result, metaString)
watchCallback(metaJson, error)
watchCallback({
meta,
error,
})
}
)
let error = postBuild(name, result, metaString)
return [metaJson, error]
return {
meta,
error,
}
}
interface RunEsbuildResult {

View File

@@ -1,9 +1,8 @@
import { existsSync, lstatSync, readdirSync, unlinkSync } from 'fs'
import commandLineArgs from 'command-line-args'
import { DistBase, ScriptBase, ScriptPath } from './paths'
import { readmeData, updateReadmeFile } from './readmefile'
import { updateReadmeFile } from './readmefile'
import runBuild from './build'
import { UserScriptMetaFull } from './types'
import * as Path from 'path'
export interface CLIArgsT {
@@ -66,7 +65,7 @@ readdirSync(DistBase).forEach(file => unlinkSync(`${DistBase}/${file}`))
//compile scripts
let scripts = readdirSync(ScriptBase)
let scriptMeta: readmeData[] = []
let scriptMeta: runBuild[] = []
for (let name of scripts) {
let path = ScriptPath(name)
@@ -80,19 +79,16 @@ for (let name of scripts) {
) {
let id = scriptMeta.length
function postWatchUpdate(
meta: UserScriptMetaFull,
error: string | null
) {
scriptMeta[id] = { meta, error }
console.log('WATCH', name, meta.version)
function update(result: runBuild) {
console.log('WATCH', name, result.meta.version)
scriptMeta[id] = result
updateReadmeFile(scriptMeta)
}
let [meta, error] = runBuild(name, postWatchUpdate)
scriptMeta[id] = { meta, error }
let result = runBuild(name, update)
console.log(name, result.meta.version)
console.log(name, meta.version)
scriptMeta[id] = result
}
}

View File

@@ -1,12 +1,7 @@
import { readdirSync, readFileSync, writeFileSync } from 'fs'
import { UserScriptMetaFull } from './types'
import runBuild from './build'
export interface readmeData {
meta: UserScriptMetaFull
error: string | null
}
export function updateReadmeFile(fileList: readmeData[]) {
export function updateReadmeFile(fileList: runBuild[]) {
let readmeFile = getReadmeFileName()
if (readmeFile !== null) {
let [readmeStart, readmeEnd] = readReadmeFile(readmeFile)
@@ -33,8 +28,8 @@ function readmeDataErrorString(error: string | null): string {
return `\n\n${error}`
}
function readmeDataToString(readmeData: readmeData): string {
let { meta, error } = readmeData
function readmeDataToString(results: runBuild): string {
let { meta, error } = results
let errStr = error !== null ? '~~' : ''
let errMsg = readmeDataErrorString(error)
return `- ${errStr}[${meta.name}](${meta.downloadURL})${errStr}${errMsg}`

View File

@@ -6,7 +6,12 @@ import {
UserScriptMetaPartial,
} from './types'
export default function (name: string): [UserScriptMetaFull, string] {
export default interface readMeta {
meta: UserScriptMetaFull
metaString: string
}
export default function readMeta(name: string) {
var meta: UserScriptMetaFull = {
name: name,
namespace: 'zomo.dev',
@@ -60,9 +65,9 @@ export default function (name: string): [UserScriptMetaFull, string] {
excludematch: 'exclude-match',
}
return [
return {
meta,
`// ==UserScript==
metaString: `// ==UserScript==
${(Object.keys(meta) as Array<keyof UserScriptMetaFull>)
.filter(key => {
let val = meta[key]
@@ -105,5 +110,5 @@ ${(Object.keys(meta) as Array<keyof UserScriptMetaFull>)
.join('\n')}
// ==/UserScript==
`,
]
}
}