UNPKG

wails-auto-ipc

Version:

generate single app.go for wails app from multiple files

106 lines (101 loc) 2.33 kB
#!/usr/bin/env node // @ts-check import { readFile, writeFile } from 'fs'; import { xixth } from 'xixth'; const on = { async failed({ dest, src }) { console.error({ errorCopy: { dest, src } }); }, async success({ dest, src }) { console.log({ successCopy: { dest, src } }); }, }; new xixth({ packageName: 'wails-auto-ipc', pathCopyHandlers: { vorth: { src: './vorth-src/', dest: './vorth-src/', on, }, vorthConfig: { src: './vorth.config.mjs', dest: './vorth.config.mjs', on, }, code: { src: './.vscode/', dest: './.vscode/', on, }, neinth: { src: './neinth-src/', dest: './neinth-src/', on, }, readme: { src: './README.md', dest: './README.wails-auto-ipc.md', on, }, jsconfig: { src: './jsconfig.json', dest: './jsconfig.json', on, }, packagejson: { src: './package.tocopy.json', dest: './package.json', on, }, }, flagCallbacks: { async afterCopy({ /** packageManagerXecutable */ pmx = undefined, /** packageName */ pn = undefined, }) { if (pmx) { const pathTopackageJson = this.generateProjectAbsolutePath('./package.json'); readFile(pathTopackageJson, (err, content) => { if (err) { console.error(err); return; } const newPackagejsonContent = JSON.parse(content.toString()); newPackagejsonContent.scripts = { dev: `concurrently '${pmx} vorth' '${pmx} neinth' 'wails dev'`, 'fe-dev': `concurrently '${pmx} vorth' '${pmx} neinth'`, }; writeFile(pathTopackageJson, JSON.stringify(newPackagejsonContent), (err) => { if (!err) { return; } console.error(err); }); }); } if (pn) { const pathToTemplateApp = this.generateProjectAbsolutePath( './neinth-src/wails-auto-ipc/templateApp.mjs' ); readFile(pathToTemplateApp, (err, content) => { if (err) { console.error(err); return; } const newTemplateAppContent = content.toString().replace( /export\s+class\s+templateApp\s+{\s+static #packageName\s+=\s+'wails-auto-ipc';/gm, `export class templateApp { static #packageName = '${pn}';` ); writeFile(pathToTemplateApp, newTemplateAppContent, (err) => { if (!err) { return; } console.error(err); }); }); } }, }, });