From a99985edde8d6b6195c80cd3b208d612890279a1 Mon Sep 17 00:00:00 2001 From: younglei Date: Mon, 13 Jun 2022 21:08:42 +0800 Subject: [PATCH] remove scripts --- scripts/build.mjs | 5 --- scripts/watch.mjs | 98 ----------------------------------------------- 2 files changed, 103 deletions(-) delete mode 100644 scripts/build.mjs delete mode 100644 scripts/watch.mjs diff --git a/scripts/build.mjs b/scripts/build.mjs deleted file mode 100644 index cb967ca..0000000 --- a/scripts/build.mjs +++ /dev/null @@ -1,5 +0,0 @@ -import { build } from 'vite' - -await build({ configFile: 'packages/main/vite.config.ts' }) -await build({ configFile: 'packages/preload/vite.config.ts' }) -await build({ configFile: 'packages/renderer/vite.config.ts' }) diff --git a/scripts/watch.mjs b/scripts/watch.mjs deleted file mode 100644 index c73473b..0000000 --- a/scripts/watch.mjs +++ /dev/null @@ -1,98 +0,0 @@ -import { spawn } from 'child_process' -import { createServer, build } from 'vite' -import electron from 'electron' -import readline from 'readline' - -const query = new URLSearchParams(import.meta.url.split('?')[1]) -const debug = query.has('debug') - -/** The log will display on the next screen */ -function clearConsole() { - const blank = '\n'.repeat(process.stdout.rows) - console.log(blank) - readline.cursorTo(process.stdout, 0, 0) - readline.clearScreenDown(process.stdout) -} - -/** - * @type {(server: import('vite').ViteDevServer) => Promise} - */ -function watchMain(server) { - /** - * @type {import('child_process').ChildProcessWithoutNullStreams | null} - */ - let electronProcess = null - const address = server.httpServer.address() - const env = Object.assign(process.env, { - VITE_DEV_SERVER_HOST: address.address, - VITE_DEV_SERVER_PORT: address.port, - }) - - /** - * @type {import('vite').Plugin} - */ - const startElectron = { - name: 'electron-main-watcher', - writeBundle() { - clearConsole() - - if (electronProcess) { - electronProcess.removeAllListeners() - electronProcess.kill() - } - - electronProcess = spawn(electron, ['.'], { env }) - electronProcess.once('exit', process.exit) - // https://github.com/electron-vite/electron-vite-vue/pull/129 - electronProcess.stdout.on('data', (data) => { - const str = data.toString().trim() - str && console.log(str) - }) - electronProcess.stderr.on('data', (data) => { - const str = data.toString().trim() - str && console.error(str) - }) - }, - } - - return build({ - configFile: 'packages/main/vite.config.ts', - mode: 'development', - plugins: [!debug && startElectron].filter(Boolean), - build: { - watch: {}, - }, - }) -} - -/** - * @type {(server: import('vite').ViteDevServer) => Promise} - */ -function watchPreload(server) { - return build({ - configFile: 'packages/preload/vite.config.ts', - mode: 'development', - plugins: [{ - name: 'electron-preload-watcher', - writeBundle() { - clearConsole() - server.ws.send({ type: 'full-reload' }) - }, - }], - build: { - watch: {}, - }, - }) -} - -// Block the CTRL + C shortcut on a Windows terminal and exit the application without displaying a query -if (process.platform === 'win32') { - readline.createInterface({ input: process.stdin, output: process.stdout }).on('SIGINT', process.exit) -} - -// bootstrap -const server = await createServer({ configFile: 'packages/renderer/vite.config.ts' }) - -await server.listen() -await watchPreload(server) -await watchMain(server)