@vitron/main
Version:
This is a utility package for the main process.
1 lines • 3.27 kB
Source Map (JSON)
{"version":3,"file":"index.cjs","sources":["../src/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2023.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { createServer } from 'node:http';\nimport process from 'node:process';\nimport path from 'node:path';\nimport { app } from 'electron';\nimport { createHandler } from '@routup/static';\nimport { getPort } from 'get-port-please';\nimport { Router } from 'routup';\nimport type { BrowserWindow } from 'electron';\nimport type { ServeOptions } from './type';\n\nexport async function serve(\n mainWindow: BrowserWindow,\n options: ServeOptions,\n) : Promise<void> {\n if (!app.isPackaged) {\n await mainWindow.loadURL(`http://localhost:${options.port || 9000}`);\n return;\n }\n\n const router = new Router();\n\n let defaultDirectory: string;\n if (process.platform === 'win32') {\n defaultDirectory = path.join(process.cwd(), 'app.asar', '.vitron', 'renderer');\n } else {\n defaultDirectory = '.vitron/renderer';\n }\n\n router.use('/', createHandler(options.directory || defaultDirectory));\n\n const server = createServer(router.createListener());\n\n const stop = async () => new Promise<void>((resolve, reject) => {\n server.close((err) => {\n if (err) {\n reject(err);\n return;\n }\n\n resolve();\n });\n });\n\n mainWindow.on('closed', () => stop());\n\n const port = await getPort();\n\n server.listen(port, async () => {\n await mainWindow.loadURL(`http://localhost:${port}`);\n });\n}\n"],"names":["serve","mainWindow","options","app","isPackaged","loadURL","port","router","Router","defaultDirectory","process","platform","path","join","cwd","use","createHandler","directory","server","createServer","createListener","stop","Promise","resolve","reject","close","err","on","getPort","listen"],"mappings":";;;;;;;;;;AAiBO,eAAeA,KAAAA,CAClBC,UAAyB,EACzBC,OAAqB,EAAA;IAErB,IAAI,CAACC,YAAIC,CAAAA,UAAU,EAAE;QACjB,MAAMH,UAAAA,CAAWI,OAAO,CAAC,CAAC,iBAAiB,EAAEH,OAAQI,CAAAA,IAAI,IAAI,IAAA,CAAK,CAAC,CAAA,CAAA;AACnE,QAAA,OAAA;AACJ,KAAA;AAEA,IAAA,MAAMC,SAAS,IAAIC,aAAAA,EAAAA,CAAAA;IAEnB,IAAIC,gBAAAA,CAAAA;IACJ,IAAIC,OAAAA,CAAQC,QAAQ,KAAK,OAAS,EAAA;AAC9BF,QAAAA,gBAAAA,GAAmBG,KAAKC,IAAI,CAACH,QAAQI,GAAG,EAAA,EAAI,YAAY,SAAW,EAAA,UAAA,CAAA,CAAA;KAChE,MAAA;QACHL,gBAAmB,GAAA,kBAAA,CAAA;AACvB,KAAA;AAEAF,IAAAA,MAAAA,CAAOQ,GAAG,CAAC,GAAA,EAAKC,qBAAcd,CAAAA,OAAAA,CAAQe,SAAS,IAAIR,gBAAAA,CAAAA,CAAAA,CAAAA;IAEnD,MAAMS,MAAAA,GAASC,sBAAaZ,CAAAA,MAAAA,CAAOa,cAAc,EAAA,CAAA,CAAA;AAEjD,IAAA,MAAMC,IAAO,GAAA,UAAY,IAAIC,OAAAA,CAAc,CAACC,OAASC,EAAAA,MAAAA,GAAAA;YACjDN,MAAOO,CAAAA,KAAK,CAAC,CAACC,GAAAA,GAAAA;AACV,gBAAA,IAAIA,GAAK,EAAA;oBACLF,MAAOE,CAAAA,GAAAA,CAAAA,CAAAA;AACP,oBAAA,OAAA;AACJ,iBAAA;AAEAH,gBAAAA,OAAAA,EAAAA,CAAAA;AACJ,aAAA,CAAA,CAAA;AACJ,SAAA,CAAA,CAAA;IAEAtB,UAAW0B,CAAAA,EAAE,CAAC,QAAA,EAAU,IAAMN,IAAAA,EAAAA,CAAAA,CAAAA;AAE9B,IAAA,MAAMf,OAAO,MAAMsB,qBAAAA,EAAAA,CAAAA;IAEnBV,MAAOW,CAAAA,MAAM,CAACvB,IAAM,EAAA,UAAA;AAChB,QAAA,MAAML,WAAWI,OAAO,CAAC,CAAC,iBAAiB,EAAEC,KAAK,CAAC,CAAA,CAAA;AACvD,KAAA,CAAA,CAAA;AACJ;;;;"}