@@ -2,9 +2,67 @@ import { defineConfig } from 'vite';
22import { viteSingleFile } from 'vite-plugin-singlefile' ;
33import path from 'path' ;
44
5+ import basicSsl from '@vitejs/plugin-basic-ssl' ;
6+
57export default defineConfig ( ( { mode } ) => {
68 return {
7- // plugins: [viteSingleFile()],
9+ plugins : [
10+ basicSsl ( ) ,
11+ {
12+ name : 'html-transform' ,
13+ transformIndexHtml ( html ) {
14+ if ( mode === 'development' ) {
15+ let newHtml = html . replace (
16+ / < s c r i p t s r c = " \. \. \/ d i s t \/ j s \/ d e v i c e - r e n d e r e r \. m i n \. j s " d a t a - p l a y e r - u r l > < \/ s c r i p t > / ,
17+ `
18+ <script type="module">
19+ import genyDeviceWebPlayer from '/src/index.js';
20+ window.genyDeviceWebPlayer = genyDeviceWebPlayer;
21+
22+ // --- Auto-connect dev helper ---
23+ const storageKey = 'geny_dev_auto_connect_ws';
24+ const wsInput = document.getElementById('wsAddress');
25+ const connectBtn = document.getElementById('connectExistingInstance');
26+ const stopBtn = document.getElementById('stop');
27+
28+ if (wsInput && connectBtn) {
29+ // Save WS address when connecting
30+ connectBtn.addEventListener('click', () => {
31+ if (wsInput.value) {
32+ sessionStorage.setItem(storageKey, wsInput.value);
33+ }
34+ });
35+
36+ // Clear saved WS when stopping
37+ if (stopBtn) {
38+ stopBtn.addEventListener('click', () => {
39+ sessionStorage.removeItem(storageKey);
40+ });
41+ }
42+
43+ // Auto-connect on page load if saved WS exists
44+ const savedWs = sessionStorage.getItem(storageKey);
45+ if (savedWs) {
46+ console.log('[Dev] Auto-connecting to:', savedWs);
47+ wsInput.value = savedWs;
48+ // Small delay to ensure player is ready
49+ setTimeout(() => connectBtn.click(), 500);
50+ }
51+ }
52+ </script>
53+ ` ,
54+ ) ;
55+ // Remove dist CSS to rely on HMR from src/index.js import
56+ newHtml = newHtml . replace (
57+ / < l i n k r e l = " s t y l e s h e e t " h r e f = " \. \. \/ d i s t \/ c s s \/ d e v i c e - r e n d e r e r \. m i n \. c s s " d a t a - p l a y e r - u r l \/ > / ,
58+ '<!-- dist css removed for dev HMR -->' ,
59+ ) ;
60+ return newHtml ;
61+ }
62+ return html ;
63+ } ,
64+ } ,
65+ ] ,
866 build : {
967 target : 'es2015' ,
1068 lib : {
0 commit comments