feat: legacy config #115
This commit is contained in:
		
							parent
							
								
									53b1425f4e
								
							
						
					
					
						commit
						281aad281c
					
				| 
						 | 
				
			
			@ -0,0 +1,85 @@
 | 
			
		|||
import { rmSync } from 'node:fs'
 | 
			
		||||
import path from 'node:path'
 | 
			
		||||
import { defineConfig } from 'vite'
 | 
			
		||||
import react from '@vitejs/plugin-react'
 | 
			
		||||
import electron from 'vite-electron-plugin'
 | 
			
		||||
import { customStart, loadViteEnv } from 'vite-electron-plugin/plugin'
 | 
			
		||||
import preload from 'vite-plugin-electron'
 | 
			
		||||
import renderer from 'vite-plugin-electron-renderer'
 | 
			
		||||
import pkg from './package.json'
 | 
			
		||||
 | 
			
		||||
let preloadHasReady = false
 | 
			
		||||
 | 
			
		||||
// https://vitejs.dev/config/
 | 
			
		||||
export default defineConfig(({ command }) => {
 | 
			
		||||
  rmSync('dist-electron', { recursive: true, force: true })
 | 
			
		||||
 | 
			
		||||
  const sourcemap = command === 'serve' || !!process.env.VSCODE_DEBUG
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    resolve: {
 | 
			
		||||
      alias: {
 | 
			
		||||
        '@': path.join(__dirname, 'src')
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    plugins: [
 | 
			
		||||
      react(),
 | 
			
		||||
      electron({
 | 
			
		||||
        include: [
 | 
			
		||||
          'electron/main'
 | 
			
		||||
        ],
 | 
			
		||||
        transformOptions: {
 | 
			
		||||
          sourcemap,
 | 
			
		||||
        },
 | 
			
		||||
        plugins: [
 | 
			
		||||
          customStart(args => {
 | 
			
		||||
            if (process.env.VSCODE_DEBUG) {
 | 
			
		||||
              // Start Electron via VSCode
 | 
			
		||||
              console.log(/* For `.vscode/.debug.script.mjs` */'[startup] Electron App')
 | 
			
		||||
            } else {
 | 
			
		||||
              if (preloadHasReady) {
 | 
			
		||||
                args?.startup()
 | 
			
		||||
              } else {
 | 
			
		||||
                console.log('[startup] waiting for preload')
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
          }),
 | 
			
		||||
          // Allow use `import.meta.env.VITE_SOME_KEY` in Main process
 | 
			
		||||
          loadViteEnv(),
 | 
			
		||||
        ],
 | 
			
		||||
      }),
 | 
			
		||||
      // Preload scripts
 | 
			
		||||
      preload({
 | 
			
		||||
        entry: [
 | 
			
		||||
          'electron/preload/index.ts'
 | 
			
		||||
        ],
 | 
			
		||||
        vite: {
 | 
			
		||||
          build: {
 | 
			
		||||
            minify: false,
 | 
			
		||||
            outDir: 'dist-electron/preload',
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
        onstart(args) {
 | 
			
		||||
          if (preloadHasReady) {
 | 
			
		||||
            args.reload()
 | 
			
		||||
          } else {
 | 
			
		||||
            preloadHasReady = true
 | 
			
		||||
            args.startup()
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
      }),
 | 
			
		||||
      // Use Node.js API in the Renderer process
 | 
			
		||||
      renderer({
 | 
			
		||||
        nodeIntegration: true,
 | 
			
		||||
      }),
 | 
			
		||||
    ],
 | 
			
		||||
    server: !!process.env.VSCODE_DEBUG ? (() => {
 | 
			
		||||
      const url = new URL(pkg.debug.env.VITE_DEV_SERVER_URL)
 | 
			
		||||
      return {
 | 
			
		||||
        host: url.hostname,
 | 
			
		||||
        port: +url.port,
 | 
			
		||||
      }
 | 
			
		||||
    })() : undefined,
 | 
			
		||||
    clearScreen: false,
 | 
			
		||||
  }
 | 
			
		||||
})
 | 
			
		||||
		Loading…
	
		Reference in New Issue