Repository navigation
Expand file tree
/
Copy pathforge.config.js
More file actions
75 lines (74 loc) · 2.41 KB
/
Copy pathforge.config.js
File metadata and controls
75 lines (74 loc) · 2.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
const { FusesPlugin } = require("@electron-forge/plugin-fuses");
const { FuseV1Options, FuseVersion } = require("@electron/fuses");
module.exports = {
packagerConfig: {
asar: {
// The Recall SDK contains native binaries that must live outside the asar archive.
// Without this, the SDK will fail to load at runtime.
unpackDir: "node_modules/@recallai",
},
osxSign: {
continueOnError: false,
optionsForFile: (_) => ({
entitlements: "./Entitlements.plist",
}),
},
extendInfo: {
NSUserNotificationAlertStyle: "alert",
NSMicrophoneUsageDescription: "Record your voice during meetings.",
NSAudioCaptureUsageDescription: "Record meeting audio for playback and transcription.",
NSAppleEventsUsageDescription:
"Allow this app to prepare supported meeting applications for high-quality recording.",
},
},
rebuildConfig: {},
makers: [
{ name: "@electron-forge/maker-dmg" },
{ name: "@electron-forge/maker-squirrel", config: {} },
],
plugins: [
{
name: "@electron-forge/plugin-auto-unpack-natives",
config: {},
},
{
name: "@electron-forge/plugin-webpack",
config: {
devContentSecurityPolicy:
"default-src * 'unsafe-inline' 'unsafe-eval' data: blob:;",
mainConfig: "./webpack.main.config.js",
renderer: {
config: "./webpack.renderer.config.js",
entryPoints: [
{
html: "./electron/chip.html",
js: "./electron/chip-renderer.ts",
name: "tray_window",
preload: {
js: "./electron/preload.ts",
},
},
],
},
},
},
{
// The Recall SDK is a native Node module and must be excluded from webpack
// bundling. This plugin ensures it stays as a require('...') at runtime.
name: "@timfish/forge-externals-plugin",
config: {
externals: ["@recallai/desktop-sdk"],
includeDeps: true,
},
},
new FusesPlugin({
version: FuseVersion.V1,
[FuseV1Options.RunAsNode]: false,
[FuseV1Options.EnableCookieEncryption]: true,
[FuseV1Options.EnableNodeOptionsEnvironmentVariable]: false,
[FuseV1Options.EnableNodeCliInspectArguments]: false,
[FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: true,
[FuseV1Options.OnlyLoadAppFromAsar]: true,
}),
],
};