mirror of
https://github.com/fromchat-messenger/web.git
synced 2026-09-22 19:15:08 +03:00
Use proper Vite syntax
This commit is contained in:
@@ -2,6 +2,7 @@ import { API_BASE_URL } from "../core/config";
|
|||||||
import { isElectron } from "../electron/electron";
|
import { isElectron } from "../electron/electron";
|
||||||
import { websocket } from "../core/websocket";
|
import { websocket } from "../core/websocket";
|
||||||
import type { NewMessageWebSocketMessage, WebSocketMessage } from "../core/types";
|
import type { NewMessageWebSocketMessage, WebSocketMessage } from "../core/types";
|
||||||
|
import serviceWorker from "../service-worker/service-worker.ts?worker&url";
|
||||||
|
|
||||||
export interface PushSubscriptionData {
|
export interface PushSubscriptionData {
|
||||||
endpoint: string;
|
endpoint: string;
|
||||||
@@ -152,7 +153,7 @@ export async function initialize(): Promise<boolean> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
registration = await navigator.serviceWorker.register("/assets/serviceWorker.js");
|
registration = await navigator.serviceWorker.register(serviceWorker, { type: "module" });
|
||||||
console.log("Service Worker registered successfully");
|
console.log("Service Worker registered successfully");
|
||||||
|
|
||||||
const permission = await Notification.requestPermission();
|
const permission = await Notification.requestPermission();
|
||||||
|
|||||||
+2
-44
@@ -5,8 +5,6 @@ import electron from "vite-plugin-electron/simple";
|
|||||||
import react from "@vitejs/plugin-react";
|
import react from "@vitejs/plugin-react";
|
||||||
import { resolve } from "path";
|
import { resolve } from "path";
|
||||||
|
|
||||||
const serviceWorkerPath = resolve(__dirname, "src/service-worker/service-worker.ts");
|
|
||||||
|
|
||||||
const plugins: PluginOption[] = [
|
const plugins: PluginOption[] = [
|
||||||
react(),
|
react(),
|
||||||
createHtmlPlugin({
|
createHtmlPlugin({
|
||||||
@@ -20,31 +18,7 @@ const plugins: PluginOption[] = [
|
|||||||
minifyCSS: true,
|
minifyCSS: true,
|
||||||
minifyJS: true
|
minifyJS: true
|
||||||
}
|
}
|
||||||
}),
|
})
|
||||||
{
|
|
||||||
name: 'service-worker-redirect',
|
|
||||||
configureServer(server) {
|
|
||||||
server.middlewares.use(async (req, res, next) => {
|
|
||||||
if (req.url === '/assets/serviceWorker.js') {
|
|
||||||
try {
|
|
||||||
const traspiled = await server.transformRequest(serviceWorkerPath);
|
|
||||||
|
|
||||||
res.writeHead(200, {
|
|
||||||
'Content-Type': "application/javascript"
|
|
||||||
});
|
|
||||||
res.end(traspiled!.code);
|
|
||||||
} catch (e) {
|
|
||||||
try {
|
|
||||||
res.writeHead(500);
|
|
||||||
res.end();
|
|
||||||
} catch (e) {}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
next();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
|
|
||||||
if (process.env.VITE_ELECTRON) {
|
if (process.env.VITE_ELECTRON) {
|
||||||
@@ -107,22 +81,6 @@ export default defineConfig({
|
|||||||
cssMinify: true,
|
cssMinify: true,
|
||||||
assetsInlineLimit: 0,
|
assetsInlineLimit: 0,
|
||||||
outDir: process.env.VITE_ELECTRON ? "build/electron/dist" : "build/normal/dist",
|
outDir: process.env.VITE_ELECTRON ? "build/electron/dist" : "build/normal/dist",
|
||||||
chunkSizeWarningLimit: 1024,
|
chunkSizeWarningLimit: 1024
|
||||||
rollupOptions: {
|
|
||||||
input: {
|
|
||||||
main: resolve(__dirname, "index.html"),
|
|
||||||
serviceWorker: serviceWorkerPath
|
|
||||||
},
|
|
||||||
output: {
|
|
||||||
entryFileNames: (chunkInfo) => {
|
|
||||||
// Проверяем имя чанка
|
|
||||||
if (chunkInfo.name === 'serviceWorker') {
|
|
||||||
return 'assets/serviceWorker.js'; // Указываем фиксированное имя для этого скрипта
|
|
||||||
}
|
|
||||||
// Для остальных файлов используем стандартное именование с хэшем
|
|
||||||
return 'assets/[name]-[hash].js';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
Reference in New Issue
Block a user