v1.0.5
fixed watching for meta.json changes
This commit is contained in:
58
src/build.ts
58
src/build.ts
@@ -10,44 +10,32 @@ export interface runBuildResult {
|
||||
error: string | null
|
||||
}
|
||||
|
||||
export default async function runBuild(
|
||||
name: string,
|
||||
watchCallback: (result: runBuildResult) => void
|
||||
) {
|
||||
export default async function runBuild(name: string) {
|
||||
//read meta file
|
||||
let { meta, metaString } = readMeta(name)
|
||||
let paths = AllPaths.script(name)
|
||||
|
||||
let result = await runEsbuild(
|
||||
{
|
||||
entryPoints: [paths.main],
|
||||
outfile: paths.dist,
|
||||
let result = await runEsbuild({
|
||||
entryPoints: [paths.main],
|
||||
outfile: paths.dist,
|
||||
|
||||
target: 'esnext',
|
||||
platform: 'node',
|
||||
format: 'esm',
|
||||
target: 'esnext',
|
||||
platform: 'node',
|
||||
format: 'esm',
|
||||
|
||||
bundle: true,
|
||||
minify: CLIArgs.minify,
|
||||
bundle: true,
|
||||
minify: CLIArgs.minify,
|
||||
|
||||
define: {
|
||||
UserScriptName: `'${meta.name}'`,
|
||||
UserScriptNamespace: `'${meta.namespace}'`,
|
||||
UserScriptVersion: `'${meta.version}'`,
|
||||
define: {
|
||||
UserScriptName: `'${meta.name}'`,
|
||||
UserScriptNamespace: `'${meta.namespace}'`,
|
||||
UserScriptVersion: `'${meta.version}'`,
|
||||
|
||||
UserScriptDownloadURL: `'${meta.downloadURL}'`,
|
||||
UserScriptSupportURL: `'${meta.supportURL}'`,
|
||||
UserScriptHomepageURL: `'${meta.homepageURL}'`,
|
||||
},
|
||||
UserScriptDownloadURL: `'${meta.downloadURL}'`,
|
||||
UserScriptSupportURL: `'${meta.supportURL}'`,
|
||||
UserScriptHomepageURL: `'${meta.homepageURL}'`,
|
||||
},
|
||||
result => {
|
||||
let error = postBuild(name, result, metaString)
|
||||
watchCallback({
|
||||
meta,
|
||||
error,
|
||||
})
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
let error = postBuild(name, result, metaString)
|
||||
|
||||
@@ -63,18 +51,8 @@ interface RunEsbuildResult {
|
||||
errorRaw?: BuildFailure
|
||||
}
|
||||
|
||||
async function runEsbuild(
|
||||
opts: BuildOptions,
|
||||
watchCallback: (result: RunEsbuildResult) => void
|
||||
): Promise<RunEsbuildResult> {
|
||||
async function runEsbuild(opts: BuildOptions): Promise<RunEsbuildResult> {
|
||||
opts.write = false
|
||||
if (CLIArgs.watch) {
|
||||
opts.watch = {
|
||||
onRebuild(err, res) {
|
||||
watchCallback(getResult(err, res))
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
let res = await build(opts)
|
||||
|
||||
30
src/main.ts
30
src/main.ts
@@ -4,6 +4,7 @@ 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
|
||||
@@ -140,20 +141,35 @@ async function doCompile() {
|
||||
) {
|
||||
let id = scriptMeta.length
|
||||
|
||||
function update(result: runBuildResult) {
|
||||
console.log('WATCH', name, result.meta.version)
|
||||
scriptMeta[id] = result
|
||||
scriptMeta[id] = await runBuild(name)
|
||||
console.log(name, scriptMeta[id].meta.version)
|
||||
|
||||
var running = false
|
||||
async function update(eventName: string) {
|
||||
if (running) {
|
||||
return
|
||||
}
|
||||
running = true
|
||||
|
||||
scriptMeta[id] = await runBuild(name)
|
||||
console.log(
|
||||
`WATCH ${eventName}`,
|
||||
name,
|
||||
scriptMeta[id].meta.version
|
||||
)
|
||||
|
||||
if (CLIArgs.readme) updateReadmeFile(scriptMeta)
|
||||
running = false
|
||||
}
|
||||
|
||||
let result = await runBuild(name, update)
|
||||
console.log(name, result.meta.version)
|
||||
|
||||
scriptMeta[id] = result
|
||||
if (CLIArgs.watch) {
|
||||
chokidar.watch(path.dir).on('all', update)
|
||||
}
|
||||
}
|
||||
}
|
||||
return scriptMeta
|
||||
}
|
||||
|
||||
doCompile().then(scriptMeta => {
|
||||
if (CLIArgs.readme) updateReadmeFile(scriptMeta)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user