wails-auto-ipc
Version:
generate single app.go for wails app from multiple files
35 lines (31 loc) • 913 B
JavaScript
// @ts-check
import { NeinthComponent } from 'neinth';
import { join } from 'path';
const keyOfWailsjsdirInWailsJson = 'wailsjsdir';
/**
* @type {NeinthComponent<
* void,
* undefined
* >}
*/
const neinthInstance = new NeinthComponent(async function () {
const wailsjson_ = this.listenToNeinth('neinth-src/wails-auto-ipc/watchWailsJSon.mjs');
this.new$(async () => {
const wailsJson = wailsjson_.value;
if (!wailsJson) {
return;
}
wailsJson.infos.forEach(async (info) => {
const parsedContent = JSON.parse(info.content.toString());
const wailsjsdir = parsedContent[keyOfWailsjsdirInWailsJson] ?? './js';
const relativePath = join(wailsjsdir, 'wailsjs/go/main').replace(/\\/g, '/');
this.generateWatcher({
addDirToSet: false,
addFileToSet: true,
encoding: 'utf-8',
relativePath,
});
});
});
});
export default neinthInstance;