|
| 1 | +import type { UserConfig } from "vite"; |
| 2 | +import { execSync } from "child_process"; |
| 3 | + |
| 4 | +export default () => |
| 5 | +({ |
| 6 | + server: { |
| 7 | + // https: { key, cert }, // uncomment for https server |
| 8 | + }, |
| 9 | + plugins: [ |
| 10 | + { |
| 11 | + name: "html-insert-ssr", |
| 12 | + transformIndexHtml(html) { |
| 13 | + const content = execSync(`bun --print '\ |
| 14 | + import { renderToString } from "react-dom/server"; \ |
| 15 | + import { createElement } from "react"; \ |
| 16 | + import { App } from "./src/App/App"; \ |
| 17 | + renderToString(createElement(App)) \ |
| 18 | + '`).toString(); |
| 19 | + |
| 20 | + return html.replace( |
| 21 | + `<div id="overlay"></div>`, |
| 22 | + `<div id="overlay">${content}</div>` |
| 23 | + ); |
| 24 | + }, |
| 25 | + }, |
| 26 | + ], |
| 27 | +} satisfies UserConfig); |
| 28 | + |
| 29 | +const key = ` |
| 30 | +-----BEGIN PRIVATE KEY----- |
| 31 | +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDaH7i3vwYOnz4d |
| 32 | +l9yZiPIeia8BDiaHmh0lqV4kbAB/utEG4fpdVcLWJdHvWwivAuR+pghNK7B06MpD |
| 33 | +v/meKEvwSzfg1ZTC5d29eCc94lWvS0I3HYJVAXe7TqlJ/GTzpj2uwFqwZeVj2Nof |
| 34 | +vvVFG8pJUuS1RNYUHcP2Zs70CmsCJnnjVBCMJzivjS/bvrdNIjU14Cp7IumFNN+5 |
| 35 | +lJhGXLik8MYnbSWgQcjArDJZFVV7aBfxhrVx//oxhkhGpPrCr8iOREtUNsC3Gfr3 |
| 36 | +xo5MF7v5JOxJ3Et6s4U0pbbn2f3bD4DojCZ8X9NoeyAnQahnvatxS3umBsNv8V3U |
| 37 | +0mu8jhAxAgMBAAECggEABNQWb/TZ0rmKM7gAoWJzb6MfHWAdkLtj4UlMRPSiFzHA |
| 38 | +vk0C0I2dNEXejZSfjtY6ziXpQaIRtCjSD2lgwnREaBOWL1MzCZRykebmwXsw5+I7 |
| 39 | +20H7OFwBtUMCwtlEN9OKgoOODmEXEJyEiZbd0ZORqQldeDjHn2bgR2RTuPnBEClU |
| 40 | +66GLcp2aRADh63oSgRTRUKJX0PecAQAavvPNIdaf6pP+FjfAg9+5HH9TjJRvb6SN |
| 41 | +kbW2uFA1zTcNPdB9KGmByam3BF2WKMsK0LdgVAifzNdXdTgpPFrFbnB6dtw9def0 |
| 42 | +wU+OAkZTOYKlkifd9VmIo6zvWfMnLRzZK07wzHxAFQKBgQDs0fkeQ2/j5ghr/Sbo |
| 43 | +4dRw781nqp8+tYXdxwYYBZZuzfoqHMYQ0mDrQF/TpBI5m+n0AI0HYMQta702Z0D7 |
| 44 | ++ipFDkEqVmjn7Kpdy7Yn2Yee9eSlmCGYIl1IXsTK66ZrIS4nfARTrW0DgAlQuBaz |
| 45 | +XSwn2ln40Iy2NPFKW+LgHPsrvQKBgQDryh2RguUkxW8S8tfdZCT6f+ynfyKTMLe+ |
| 46 | +OIPPaj3W7ZxG3MHctjDN7wnKwvSMTwSFkNe5RI1CngT8XjmbAyphdRI6hRY8P1l+ |
| 47 | +PvSk15hNz2QLeyNOL7SjO8zpGh6bIFSMrsfpEo/n+tGzw8qiPjqFXIWZy0kPyU+y |
| 48 | +vpL5FgOjhQKBgAule+HgISWND4b4CSzUxlTThj995Zz44l94xTTzOWWznYTqq1by |
| 49 | +ca/AF7ZZ0EejAktsp4LgYGV3cfO1+j0qHWAOBmhlnX0iZ3J7bTbifMf1gcwfAi/w |
| 50 | +KLRBbN4p3qJQHGv2rmPLGJxedJbSptMlVuGS3G/fGbxwOBmXET5CTpvlAoGALyrR |
| 51 | +W2hp2j88hvfZQspjs1Cf0KnYCsW2G/FGPNmt4S7LEkna5gH0JV3qAYuaS+8KooVl |
| 52 | +AgS6lVby/GEE+QNbGP/IU7iHyCmMB3skiU0vhHE2PC231E4qvnSZ+w9ki/edsj7M |
| 53 | +cs1pyCgehu1lvarhHghyGV/XD7dfoAwLbpR+ydkCgYAFrp9bXGXqIGJEhXQ0gdKE |
| 54 | +nclJa28j+HfD9jnWRbOVUXC6FIN2Np+NfuZZKK3irthNrsw+xCzrzeznBzpPs2gz |
| 55 | +GxmFJizT4H/QXtu49sBI0UiW2xEZ37gKFmnVlqLTgRIb8NWKtHagwrdnJr0z3m5k |
| 56 | +8tJ6Xq4vutsZey/+p/iX7g== |
| 57 | +-----END PRIVATE KEY----- |
| 58 | +`; |
| 59 | +const cert = ` |
| 60 | +-----BEGIN CERTIFICATE----- |
| 61 | +MIIDETCCAfkCFCC85ljW9Q9cQIOUeFHkzgO+i4rpMA0GCSqGSIb3DQEBCwUAMEUx |
| 62 | +CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRl |
| 63 | +cm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMjUwMzE0MTIzMDA5WhcNMjYwMzE0MTIz |
| 64 | +MDA5WjBFMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UE |
| 65 | +CgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOC |
| 66 | +AQ8AMIIBCgKCAQEA2h+4t78GDp8+HZfcmYjyHomvAQ4mh5odJaleJGwAf7rRBuH6 |
| 67 | +XVXC1iXR71sIrwLkfqYITSuwdOjKQ7/5nihL8Es34NWUwuXdvXgnPeJVr0tCNx2C |
| 68 | +VQF3u06pSfxk86Y9rsBasGXlY9jaH771RRvKSVLktUTWFB3D9mbO9AprAiZ541QQ |
| 69 | +jCc4r40v2763TSI1NeAqeyLphTTfuZSYRly4pPDGJ20loEHIwKwyWRVVe2gX8Ya1 |
| 70 | +cf/6MYZIRqT6wq/IjkRLVDbAtxn698aOTBe7+STsSdxLerOFNKW259n92w+A6Iwm |
| 71 | +fF/TaHsgJ0GoZ72rcUt7pgbDb/Fd1NJrvI4QMQIDAQABMA0GCSqGSIb3DQEBCwUA |
| 72 | +A4IBAQA13HNJe7G6pcrEeatIOU1uofuPRcx2czpAxV01sPwLPQewyhgCjdIGZhhy |
| 73 | +MN/8J6+AzfSzo3JDosTuAGyKM258RvnYmkwXnwj5PeUwXbKDs33Sx3uh6UL+N7e7 |
| 74 | +p6zS3CELTDXuHxNOcw67v10jwzMB8p6zjd1j4J+yPuexh9MOuujPFLUYSipE2ONg |
| 75 | +z4rVkSvh2v4a7GeMiZ5TqhMaPdv7Bzj3Ckr/P1sE0CRPdbXrbZcvjcXo6XLawuDk |
| 76 | +wwvjm+uF6TFOkefLdcZXF57rD6JsOHKYPxQQuJzvuadeXDZ2LpmXDFbliopDxJw5 |
| 77 | +bUP6q7uiyBFQTdlgZ3IxFUfNv3pm |
| 78 | +-----END CERTIFICATE----- |
| 79 | +`; |
0 commit comments