fix: update Vue template syntax and improve Vite config

- Fix Vue template syntax in App.vue by using proper event handler format
- Update Vite config to properly handle ESM imports and crypto modules
- Add manual chunks for better code splitting
- Improve environment variable handling in vite-env.d.ts
- Fix TypeScript linting errors in App.vue
This commit is contained in:
Matthew Raymer
2025-04-18 09:59:33 +00:00
parent 62553a37aa
commit e5518cd47c
161 changed files with 12154 additions and 11570 deletions

View File

@@ -1,78 +1,78 @@
const { contextBridge, ipcRenderer } = require("electron");
const { contextBridge, ipcRenderer } = require('electron')
const logger = {
log: (message, ...args) => {
if (process.env.NODE_ENV !== "production") {
if (process.env.NODE_ENV !== 'production') {
/* eslint-disable no-console */
console.log(message, ...args);
console.log(message, ...args)
/* eslint-enable no-console */
}
},
warn: (message, ...args) => {
if (process.env.NODE_ENV !== "production") {
if (process.env.NODE_ENV !== 'production') {
/* eslint-disable no-console */
console.warn(message, ...args);
console.warn(message, ...args)
/* eslint-enable no-console */
}
},
error: (message, ...args) => {
/* eslint-disable no-console */
console.error(message, ...args); // Errors should always be logged
console.error(message, ...args) // Errors should always be logged
/* eslint-enable no-console */
},
};
}
}
// Use a more direct path resolution approach
const getPath = (pathType) => {
switch (pathType) {
case "userData":
case 'userData':
return (
process.env.APPDATA ||
(process.platform === "darwin"
(process.platform === 'darwin'
? `${process.env.HOME}/Library/Application Support`
: `${process.env.HOME}/.local/share`)
);
case "home":
return process.env.HOME;
case "appPath":
return process.resourcesPath;
)
case 'home':
return process.env.HOME
case 'appPath':
return process.resourcesPath
default:
return "";
return ''
}
};
}
logger.log("Preload script starting...");
logger.log('Preload script starting...')
try {
contextBridge.exposeInMainWorld("electronAPI", {
contextBridge.exposeInMainWorld('electronAPI', {
// Path utilities
getPath,
// IPC functions
send: (channel, data) => {
const validChannels = ["toMain"];
const validChannels = ['toMain']
if (validChannels.includes(channel)) {
ipcRenderer.send(channel, data);
ipcRenderer.send(channel, data)
}
},
receive: (channel, func) => {
const validChannels = ["fromMain"];
const validChannels = ['fromMain']
if (validChannels.includes(channel)) {
ipcRenderer.on(channel, (event, ...args) => func(...args));
ipcRenderer.on(channel, (event, ...args) => func(...args))
}
},
// Environment info
env: {
isElectron: true,
isDev: process.env.NODE_ENV === "development",
isDev: process.env.NODE_ENV === 'development'
},
// Path utilities
getBasePath: () => {
return process.env.NODE_ENV === "development" ? "/" : "./";
},
});
return process.env.NODE_ENV === 'development' ? '/' : './'
}
})
logger.log("Preload script completed successfully");
logger.log('Preload script completed successfully')
} catch (error) {
logger.error("Error in preload script:", error);
logger.error('Error in preload script:', error)
}