updated dependencies
This commit is contained in:
20
src/build.ts
20
src/build.ts
@@ -12,10 +12,10 @@ export interface runBuildResult {
|
||||
|
||||
export default async function runBuild(name: string) {
|
||||
//read meta file
|
||||
let { meta, metaString } = readMeta(name)
|
||||
let paths = AllPaths.script(name)
|
||||
const { meta, metaString } = readMeta(name)
|
||||
const paths = AllPaths.script(name)
|
||||
|
||||
let result = await runEsbuild({
|
||||
const result = await runEsbuild({
|
||||
entryPoints: [paths.main],
|
||||
outfile: paths.dist,
|
||||
|
||||
@@ -37,7 +37,7 @@ export default async function runBuild(name: string) {
|
||||
},
|
||||
})
|
||||
|
||||
let error = await postBuild(name, result, metaString)
|
||||
const error = await postBuild(name, result, metaString)
|
||||
|
||||
return {
|
||||
meta,
|
||||
@@ -55,7 +55,7 @@ async function runEsbuild(opts: BuildOptions): Promise<RunEsbuildResult> {
|
||||
opts.write = false
|
||||
|
||||
try {
|
||||
let res = await build(opts)
|
||||
const res = await build(opts)
|
||||
return getResult(null, res)
|
||||
} catch (err) {
|
||||
return getResult(err as BuildFailure, null)
|
||||
@@ -94,7 +94,7 @@ function getResult(error: BuildFailure | null, result: BuildResult | null) {
|
||||
}
|
||||
|
||||
function clearFilenameComments(content: string): string {
|
||||
let regexp = new RegExp(`//\\s*${AllPaths.base.in}/.*(?:\\n|$)`, 'g')
|
||||
const regexp = new RegExp(`//\\s*${AllPaths.base.in}/.*(?:\\n|$)`, 'g')
|
||||
return content.replace(regexp, '')
|
||||
}
|
||||
|
||||
@@ -104,9 +104,9 @@ async function postBuild(
|
||||
metaString: string
|
||||
) {
|
||||
let error: string | null = null
|
||||
let paths = AllPaths.script(name)
|
||||
const paths = AllPaths.script(name)
|
||||
|
||||
let PrettierConfig = (await resolveConfig(paths.dir)) ?? {}
|
||||
const PrettierConfig = (await resolveConfig(paths.dir)) ?? {}
|
||||
|
||||
if (result.error) {
|
||||
console.error(name, result.errorRaw || result.error)
|
||||
@@ -130,9 +130,9 @@ async function postBuild(
|
||||
}
|
||||
|
||||
async function doErrorFile(name: string, error: string | null) {
|
||||
let paths = AllPaths.script(name)
|
||||
const paths = AllPaths.script(name)
|
||||
|
||||
let content = `${new Date().toISOString()}\n\n${error}`
|
||||
const content = `${new Date().toISOString()}\n\n${error}`
|
||||
|
||||
if (error !== null) {
|
||||
await writeFile(paths.error, content)
|
||||
|
||||
14
src/main.ts
14
src/main.ts
@@ -4,7 +4,6 @@ import { updateReadmeFile } from './readmefile'
|
||||
import runBuild, { runBuildResult } from './build'
|
||||
import * as Path from 'path'
|
||||
import getAllPaths from './paths'
|
||||
import * as chokidar from 'chokidar'
|
||||
|
||||
export interface CLIArgsT {
|
||||
watch: boolean
|
||||
@@ -57,7 +56,7 @@ if (CLIArgs.help) {
|
||||
command = Path.parse(process.argv[0]).name
|
||||
}
|
||||
if (command.toLowerCase() === 'node' && process.argv.length > 1) {
|
||||
let path = Path.relative(process.cwd(), process.argv[1]) || '.'
|
||||
const path = Path.relative(process.cwd(), process.argv[1]) || '.'
|
||||
command = `${command} ${path}`
|
||||
}
|
||||
|
||||
@@ -135,11 +134,11 @@ if (!existsSync(AllPaths.base.out)) {
|
||||
|
||||
//compile scripts
|
||||
async function doCompile() {
|
||||
let scripts = readdirSync(AllPaths.base.in)
|
||||
let scriptMeta: runBuildResult[] = []
|
||||
const scripts = readdirSync(AllPaths.base.in)
|
||||
const scriptMeta: runBuildResult[] = []
|
||||
|
||||
for (let name of scripts) {
|
||||
let path = AllPaths.script(name)
|
||||
for (const name of scripts) {
|
||||
const path = AllPaths.script(name)
|
||||
|
||||
if (
|
||||
!name.endsWith('_') &&
|
||||
@@ -148,7 +147,7 @@ async function doCompile() {
|
||||
existsSync(path.main) &&
|
||||
lstatSync(path.main).isFile()
|
||||
) {
|
||||
let id = scriptMeta.length
|
||||
const id = scriptMeta.length
|
||||
|
||||
scriptMeta[id] = await runBuild(name)
|
||||
console.log(name, scriptMeta[id].meta.version)
|
||||
@@ -172,6 +171,7 @@ async function doCompile() {
|
||||
}
|
||||
|
||||
if (CLIArgs.watch) {
|
||||
const chokidar = await import('chokidar')
|
||||
chokidar.watch(path.dir).on('all', update)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,19 +3,19 @@ import { runBuildResult } from './build'
|
||||
import { UserScriptMetaFull, UserScriptMetaMultiple } from './types'
|
||||
|
||||
export function updateReadmeFile(fileList: runBuildResult[]) {
|
||||
let readmeFile = getReadmeFileName()
|
||||
const readmeFile = getReadmeFileName()
|
||||
if (readmeFile !== null) {
|
||||
let [readmeStart, readmeEnd] = readReadmeFile(readmeFile)
|
||||
const [readmeStart, readmeEnd] = readReadmeFile(readmeFile)
|
||||
|
||||
let installLinks = fileList.map(readmeDataToString).join('\n')
|
||||
const installLinks = fileList.map(readmeDataToString).join('\n')
|
||||
|
||||
let installLinksAll = `<!-- START INSTALL LINKS -->
|
||||
const installLinksAll = `<!-- START INSTALL LINKS -->
|
||||
## Installs
|
||||
|
||||
${installLinks}
|
||||
<!-- END INSTALL LINKS -->`
|
||||
|
||||
let content = readmeStart + installLinksAll + readmeEnd
|
||||
const content = readmeStart + installLinksAll + readmeEnd
|
||||
writeFileSync(readmeFile, content)
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,7 @@ function readmeDataErrorString(error: string | null): string {
|
||||
}
|
||||
|
||||
function arrayify(val: UserScriptMetaMultiple): string[] {
|
||||
let newval = Array.isArray(val) ? val : [val]
|
||||
const newval = Array.isArray(val) ? val : [val]
|
||||
return newval.map(v => v.trim()).filter(v => v)
|
||||
}
|
||||
|
||||
@@ -55,9 +55,9 @@ function readmeDataMatches(meta: UserScriptMetaFull): string {
|
||||
}
|
||||
|
||||
function readmeDataToString(results: runBuildResult): string {
|
||||
let { meta, error } = results
|
||||
let errStr = error !== null ? '~~' : ''
|
||||
let errMsg = readmeDataErrorString(error)
|
||||
const { meta, error } = results
|
||||
const errStr = error !== null ? '~~' : ''
|
||||
const errMsg = readmeDataErrorString(error)
|
||||
const matchesStr = readmeDataMatches(meta)
|
||||
|
||||
return `
|
||||
@@ -68,8 +68,8 @@ function readmeDataToString(results: runBuildResult): string {
|
||||
}
|
||||
|
||||
function getReadmeFileName(): string | null {
|
||||
let files = readdirSync('.')
|
||||
for (let name of files) {
|
||||
const files = readdirSync('.')
|
||||
for (const name of files) {
|
||||
if (/^readme\.md$/i.test(name)) {
|
||||
return name
|
||||
}
|
||||
@@ -90,7 +90,7 @@ function readReadmeFile(readmeFile: string): [string, string] {
|
||||
if (index === undefined) {
|
||||
contentPre = content
|
||||
} else {
|
||||
let content_replace = content.replace(regex, '')
|
||||
const content_replace = content.replace(regex, '')
|
||||
contentPre = content_replace.slice(0, index)
|
||||
contentPost = content_replace.slice(index)
|
||||
}
|
||||
|
||||
@@ -12,8 +12,8 @@ export default interface readMeta {
|
||||
}
|
||||
|
||||
export default function readMeta(name: string) {
|
||||
let paths = AllPaths.script(name)
|
||||
let urls = AllPaths.url
|
||||
const paths = AllPaths.script(name)
|
||||
const urls = AllPaths.url
|
||||
|
||||
var meta: UserScriptMetaFull = {
|
||||
name: name,
|
||||
@@ -35,17 +35,17 @@ export default function readMeta(name: string) {
|
||||
unwrap: false,
|
||||
}
|
||||
|
||||
let metaPath = paths.meta
|
||||
const metaPath = paths.meta
|
||||
|
||||
if (existsSync(metaPath) && lstatSync(metaPath).isFile()) {
|
||||
try {
|
||||
let args: UserScriptMetaPartial = JSON.parse(
|
||||
const args: UserScriptMetaPartial = JSON.parse(
|
||||
readFileSync(metaPath).toString()
|
||||
)
|
||||
|
||||
let key: keyof UserScriptMeta
|
||||
for (key in meta) {
|
||||
let val = args[key]
|
||||
const val = args[key]
|
||||
|
||||
//cases where the value is empty
|
||||
if (val === undefined) continue
|
||||
@@ -73,14 +73,14 @@ export default function readMeta(name: string) {
|
||||
metaString: `// ==UserScript==
|
||||
${(Object.keys(meta) as Array<keyof UserScriptMetaFull>)
|
||||
.filter(key => {
|
||||
let val = meta[key]
|
||||
const val = meta[key]
|
||||
if (val === undefined) return false
|
||||
if (val === false) return false
|
||||
if (val === '') return false
|
||||
return true
|
||||
})
|
||||
.map(key => {
|
||||
let val = meta[key]
|
||||
const val = meta[key]
|
||||
let key_str: string =
|
||||
key in keyConversion
|
||||
? keyConversion[key as keyof typeof keyConversion]
|
||||
@@ -98,10 +98,10 @@ ${(Object.keys(meta) as Array<keyof UserScriptMetaFull>)
|
||||
return val.map(v => `// @${key_str} ${v}`).join('\n')
|
||||
} else if (typeof val === 'object') {
|
||||
//multilingual
|
||||
let langs = val
|
||||
const langs = val
|
||||
return Object.keys(langs)
|
||||
.map(lang => {
|
||||
let langStr = lang === 'default' ? '' : `:${lang}`
|
||||
const langStr = lang === 'default' ? '' : `:${lang}`
|
||||
return `// @${key_str}${langStr} ${langs[lang]}`
|
||||
})
|
||||
.join('\n')
|
||||
|
||||
Reference in New Issue
Block a user