Get ready to use electron-packager on Darwin

This commit is contained in:
Diego Magdaleno 2020-08-19 10:00:07 -05:00
parent 50df388e1a
commit f38f11a152
No known key found for this signature in database
GPG Key ID: E8A095BC02715EED
3 changed files with 17 additions and 1 deletions

View File

@ -12,6 +12,9 @@ winZip.outputStream.pipe(fs.createWriteStream(__path.join(__dirname, "builds", "
const linuxZip = new yazl.ZipFile()
linuxZip.outputStream.pipe(fs.createWriteStream(__path.join(__dirname, "builds", "lightcord-linux-x64.zip")))
const darwinZip = new yazl.ZipFile()
darwinZip.outputStream.pipe(fs.createWriteStream(__path.join(__dirname, "builds", "lightcord-darwin-x64.zip")))
async function processNextDir(dir, zip, bpath, platform){
if(!bpath)bpath = dir
if(dir.replace(bpath, ""))zip.addEmptyDirectory(dir.replace(bpath, "").slice(1))
@ -24,9 +27,14 @@ async function processNextDir(dir, zip, bpath, platform){
if(!path.includes("node_modules")){
if(platform === "win"){
if(file.name.endsWith("_linux.node"))return
if(file.name.endsWith("_darwin.node"))return
}else if(platform === "lin"){
if(file.name.endsWith(".node")){
if(!file.name.endsWith("_linux.node"))return
}else if(platform === "dar"){
if(file.name.endsWith(".node")){
if(!file.name.endsWith("_darwin.node"))return
}
}
if(file.name.endsWith(".dll"))return
}
@ -51,4 +59,10 @@ processNextDir(__path.join(__dirname, "builds", "lightcord-linux-x64"), linuxZip
.then(() => {
console.log(`Zipped linux.`)
linuxZip.end()
})
processNextDir(__path.join(__dirname, "builds", "lightcord-darwin-x64", darwinZip, undefined, "dar"))
.then(()=> {
console.log('Zipped Darwin')
darwinZip.end()
})

View File

@ -189,6 +189,7 @@ async function main(){
let packageJSON = require("./package.json")
packageJSON.scripts["build:electron_linux"] = packageJSON.scripts["build:electron_linux"].replace("./distApp", ".")
packageJSON.scripts["build:electron_win"] = packageJSON.scripts["build:electron_win"].replace("./distApp", ".")
packageJSON.scripts["build:electron_darwin"] = packageJSON.scripts["build:electron_darwin"].replace("./distApp", ".")
fs.writeFileSync(path.join(__dirname, "distApp", "package.json"), JSON.stringify(packageJSON), "utf8")

View File

@ -8,9 +8,10 @@
"test": "npm run compile && electron .",
"run": "electron .",
"build": "npm run build:minify && npm run build:electron && npm run build:after",
"build:electron": "npm run build:electron_win && npm run build:electron_linux",
"build:electron": "npm run build:electron_win && npm run build:electron_linux && npm run build:electron_darwin",
"build:electron_win": "electron-packager ./distApp --ignore=\"(distApp|builds|\\.ts|\\.so\\.4)\" --arch=ia32 --win32metadata.ProductName=\"Lightcord\" --win32metadata.CompanyName=\"Lightcord\" --protocol=discord --platform=\"win32\" --out=builds --icon=app.ico --executable-name=\"Lightcord\" --asar.unpack=*.{node,dll} --overwrite",
"build:electron_linux": "electron-packager ./distApp --ignore=\"(distApp|builds|\\.ts|\\.dll)\" --arch=x64 --protocol=discord --platform=\"linux\" --out=builds --icon=app.ico --executable-name=\"Lightcord\" --asar.unpack=*.{node,so.4} --overwrite",
"build:electron_darwin": "electron-packager ./distApp --ignore(distApp|builds|\\.ts\\.so\\.4\\.dll --arch=x64 --protocol=discord --platform=\"darwin\" --out=builds --icon=app.icon --executable-name=\"Lightcord\" --asar.unpack=*{.node.dylib} --overwrite",
"build:minify": "node build.js",
"build:after": "node afterbuild.js",
"devInstall": "npm i --save-dev --arch=ia32 electron@8.4.0 && node installSubModules.js && echo \"Everything is installed. You should be able to do `npm run test` to compile everything and launch.\"",