Skip to content

Commit

Permalink
perf: ⚡️ 打包时,根据平台添加额外的prisma可执行文件
Browse files Browse the repository at this point in the history
dmg 体积减少8M

close #158
  • Loading branch information
meetqy committed Jun 2, 2023
1 parent 51a6be9 commit c857a22
Showing 1 changed file with 51 additions and 41 deletions.
92 changes: 51 additions & 41 deletions apps/electron/scripts/compile.ts
Original file line number Diff line number Diff line change
@@ -1,48 +1,58 @@
import builder from "electron-builder";

const extraResources: builder.FileSet[] = [];

export const Config: builder.Configuration = {
productName: "Rao Pics",
copyright: `Copyright © 2022-${new Date().getFullYear()} meetqy`,
mac: {
category: "public.app-category.photography",
icon: "buildResources/icon.icns",
darkModeSupport: true,
target: {
target: "dmg",
arch: ["x64", "arm64"],
},
extraResources: extraResources,
},
extraMetadata: { version: "0.5.0-beta.2" },
directories: {
output: "dist",
buildResources: "buildResources",
},
files: ["main/dist/**", "preload/dist/**", "renderer/dist/**"],
extraResources: [
{
from: "../../packages/db/prisma/db.sqlite",
to: "packages/db/prisma/db.sqlite",
},
{
from: "../nextjs/.next/static",
to: "apps/nextjs/.next/static",
filter: ["**/*"],
},
{
from: "../nextjs/public",
to: "apps/nextjs/public",
filter: ["**/*"],
},
],
beforeBuild: async (context) => {
console.log(context.platform.nodeName, context.arch);

extraResources.pop();
extraResources.push({
from: "../nextjs/.next/standalone",
filter: ["**/*", "!**/.prisma/client/*.node", `**/.prisma/client/*darwin${context.arch === "x64" ? "" : "-arm64"}.*.node`],
});

return Promise.resolve(context);
},
};

builder
.build({
targets: builder.Platform.MAC.createTarget(),
config: {
productName: "Rao Pics",
copyright: `Copyright © 2022-${new Date().getFullYear()} meetqy`,
asar: false,
mac: {
category: "public.app-category.photography",
icon: "buildResources/icon.icns",
darkModeSupport: true,
target: {
target: "dmg",
arch: ["arm64", "x64"],
},
},
extraMetadata: { version: "0.5.0-beta.2" },
directories: {
output: "dist",
buildResources: "buildResources",
},
files: ["main/dist/**", "preload/dist/**", "renderer/dist/**"],
extraResources: [
{
from: "../../packages/db/prisma/db.sqlite",
to: "packages/db/prisma/db.sqlite",
},
{
from: "../nextjs/.next/standalone",
filter: ["**/*"],
},
{
from: "../nextjs/.next/static",
to: "apps/nextjs/.next/static",
filter: ["**/*"],
},
{
from: "../nextjs/public",
to: "apps/nextjs/public",
filter: ["**/*"],
},
],
},
config: Config,
})
.then((result) => {
console.log(JSON.stringify(result));
Expand Down

0 comments on commit c857a22

Please sign in to comment.