feat: electron-builder
This commit is contained in:
		
							parent
							
								
									4dc1dd895f
								
							
						
					
					
						commit
						25ac4ae3af
					
				| 
						 | 
				
			
			@ -1,6 +1,8 @@
 | 
			
		|||
import { join, relative } from 'path'
 | 
			
		||||
import { rollup, RollupOptions, OutputOptions, RollupOutput } from 'rollup'
 | 
			
		||||
import { build as viteBuild2 } from 'vite'
 | 
			
		||||
import { build as electronBuild2 } from 'electron-builder'
 | 
			
		||||
import { config as builderConfig } from './electron-builder.config'
 | 
			
		||||
import {
 | 
			
		||||
  mainOptions,
 | 
			
		||||
  preloadOptions,
 | 
			
		||||
| 
						 | 
				
			
			@ -42,15 +44,28 @@ async function buildReactTs(): Promise<BuildResult> {
 | 
			
		|||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
; (async () => {
 | 
			
		||||
// build electron
 | 
			
		||||
async function electronBuild() {
 | 
			
		||||
  try {
 | 
			
		||||
    const result = await electronBuild2({ config: builderConfig })
 | 
			
		||||
 | 
			
		||||
    console.log(TAG, `electron-builder.build result - ${result}`)
 | 
			
		||||
    return [null, result]
 | 
			
		||||
  } catch (error) {
 | 
			
		||||
    return [error, null]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
; (async () => {
 | 
			
		||||
  console.log(TAG, 'Build with rollup.')
 | 
			
		||||
  try {
 | 
			
		||||
    await Promise.all([
 | 
			
		||||
      // Avoid logs cleaned by vite
 | 
			
		||||
      rollupBuild(mainOptions()),
 | 
			
		||||
      rollupBuild(preloadOptions()),
 | 
			
		||||
    ])
 | 
			
		||||
    await buildReactTs()
 | 
			
		||||
    await electronBuild()
 | 
			
		||||
  } catch (error) {
 | 
			
		||||
    console.error(TAG, error)
 | 
			
		||||
    process.exit(1)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,38 @@
 | 
			
		|||
import { Configuration } from 'electron-builder'
 | 
			
		||||
 | 
			
		||||
const config: Configuration = {
 | 
			
		||||
  appId: "308487730@qq.com",
 | 
			
		||||
  asar: true,
 | 
			
		||||
  directories: {
 | 
			
		||||
    output: "release/${version}"
 | 
			
		||||
  },
 | 
			
		||||
  files: [
 | 
			
		||||
    "!node_modules",
 | 
			
		||||
    "dist/**"
 | 
			
		||||
  ],
 | 
			
		||||
  mac: {
 | 
			
		||||
    artifactName: "${productName}_${version}.${ext}",
 | 
			
		||||
    target: [
 | 
			
		||||
      "dmg"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  win: {
 | 
			
		||||
    target: [
 | 
			
		||||
      {
 | 
			
		||||
        target: "nsis",
 | 
			
		||||
        arch: [
 | 
			
		||||
          "x64"
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    artifactName: "${productName}_${version}.${ext}"
 | 
			
		||||
  },
 | 
			
		||||
  nsis: {
 | 
			
		||||
    oneClick: false,
 | 
			
		||||
    perMachine: false,
 | 
			
		||||
    allowToChangeInstallationDirectory: true,
 | 
			
		||||
    deleteAppDataOnUninstall: false
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export { config }
 | 
			
		||||
		Loading…
	
		Reference in New Issue