mirror of
https://github.com/Kuingsmile/PicList.git
synced 2025-01-22 14:28:12 -05:00
138 lines
3.5 KiB
JavaScript
138 lines
3.5 KiB
JavaScript
const path = require('path')
|
|
function resolve (dir) {
|
|
return path.join(__dirname, dir)
|
|
}
|
|
|
|
const config = {
|
|
configureWebpack: {
|
|
devtool: 'nosources-source-map'
|
|
},
|
|
chainWebpack: config => {
|
|
config.resolve.alias
|
|
.set('@', resolve('src/renderer'))
|
|
.set('~', resolve('src/main'))
|
|
.set('root', resolve('./'))
|
|
.set('#', resolve('src/universal'))
|
|
},
|
|
pluginOptions: {
|
|
electronBuilder: {
|
|
nodeIntegration: true,
|
|
customFileProtocol: 'picgo://./',
|
|
externals: ['piclist'],
|
|
chainWebpackMainProcess: config => {
|
|
config.resolve.alias
|
|
.set('@', resolve('src/renderer'))
|
|
.set('~', resolve('src/main'))
|
|
.set('root', resolve('./'))
|
|
.set('#', resolve('src/universal'))
|
|
.set('apis', resolve('src/main/apis'))
|
|
.set('@core', resolve('src/main/apis/core'))
|
|
config.resolve.mainFields
|
|
.clear()
|
|
.add('main') // fix some modules will use browser target
|
|
.add('module')
|
|
config.module
|
|
.rule('node')
|
|
.test(/\.node$/)
|
|
.use('node-loader')
|
|
.loader('node-loader')
|
|
.end()
|
|
},
|
|
builderOptions: {
|
|
productName: 'PicList',
|
|
appId: 'com.kuingsmile.piclist',
|
|
afterSign: 'scripts/notarize.js',
|
|
publish: [
|
|
{
|
|
provider: 's3',
|
|
bucket: 'piclist-dl',
|
|
region: 'auto',
|
|
acl: 'private',
|
|
endpoint: 'https://7ab4ed5cb1f4052a13d3b573876ecf33.r2.cloudflarestorage.com',
|
|
path: '/latest'
|
|
},
|
|
{
|
|
provider: 'github',
|
|
owner: 'Kuingsmile',
|
|
repo: 'PicList',
|
|
releaseType: 'draft'
|
|
}
|
|
],
|
|
dmg: {
|
|
sign: false,
|
|
contents: [
|
|
{
|
|
x: 410,
|
|
y: 150,
|
|
type: 'link',
|
|
path: '/Applications'
|
|
},
|
|
{
|
|
x: 130,
|
|
y: 150,
|
|
type: 'file'
|
|
}
|
|
]
|
|
},
|
|
mac: {
|
|
icon: 'build/icons/icon.icns',
|
|
extendInfo: {
|
|
LSUIElement: 0
|
|
},
|
|
target: [{
|
|
target: 'default',
|
|
arch: [
|
|
'universal',
|
|
'x64',
|
|
'arm64'
|
|
]
|
|
}],
|
|
// eslint-disable-next-line no-template-curly-in-string
|
|
artifactName: 'PicList-${version}-${arch}.${ext}'
|
|
},
|
|
win: {
|
|
icon: 'build/icons/icon.ico',
|
|
// eslint-disable-next-line no-template-curly-in-string
|
|
artifactName: 'PicList-Setup-${version}-${arch}.exe',
|
|
verifyUpdateCodeSignature: false,
|
|
target: [{
|
|
target: 'nsis',
|
|
arch: [
|
|
'x64',
|
|
'ia32'
|
|
]
|
|
}]
|
|
},
|
|
nsis: {
|
|
shortcutName: 'PicList',
|
|
oneClick: false,
|
|
allowToChangeInstallationDirectory: true,
|
|
include: 'build/installer.nsh'
|
|
},
|
|
linux: {
|
|
icon: 'build/icons/',
|
|
asarUnpack: [
|
|
'**/node_modules/sharp/**',
|
|
'**/node_modules/ssh2-no-cpu-features/**'
|
|
]
|
|
},
|
|
snap: {
|
|
publish: ['github']
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (process.env.NODE_ENV === 'development') {
|
|
config.configureWebpack = {
|
|
devtool: 'source-map'
|
|
}
|
|
// for dev main process hot reload
|
|
config.pluginOptions.electronBuilder.mainProcessWatch = ['src/main/**/*']
|
|
}
|
|
|
|
module.exports = {
|
|
...config
|
|
}
|