Blocking PR merged, updating readmes, and bumping package versions

This commit is contained in:
Luke Hagar
2024-02-23 11:26:53 -06:00
parent df6aa2289a
commit 5c9c021a3a
3 changed files with 32 additions and 6 deletions

View File

@@ -0,0 +1,5 @@
---
"adapter-electron": patch
---
Adjusted readme, as blocked `electron-vite` PR has been merged

View File

@@ -16,9 +16,6 @@ I have tested and validated the implementation with the node20 runtime. Other ru
Deploy SvelteKit applications as electron desktop applications. Deploy SvelteKit applications as electron desktop applications.
This adapter is functional and tested, but is currently being blocked by [this PR](https://github.com/alex8088/electron-vite/pull/412).
Once that PR is merged, this adapter will be fully functional.
This adapter does require additional files to be added to the project, and requires the use of the package `electron-vite` to properly handle the electron implementation. This adapter does require additional files to be added to the project, and requires the use of the package `electron-vite` to properly handle the electron implementation.
Please look at the [example](https://github.com/LukeHagar/sveltekit-adapters/tree/main/examples/electron) implementation for more information. Please look at the [example](https://github.com/LukeHagar/sveltekit-adapters/tree/main/examples/electron) implementation for more information.

View File

@@ -4,12 +4,38 @@
This is a simple wrapper for the existing `adapter-node` SvelteKit adapter, with the exception that this package exports custom functions to handle the integration and running of the polka server and handler that are built from the node adapter. This is a simple wrapper for the existing `adapter-node` SvelteKit adapter, with the exception that this package exports custom functions to handle the integration and running of the polka server and handler that are built from the node adapter.
You register the adapter in your `svelte.config.js` file just like any other adapter like so:
```js
import adapter from 'adapter-electron';
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
/** @type {import('@sveltejs/kit').Config} */
const config = {
// Consult https://kit.svelte.dev/docs/integrations#preprocessors
// for more information about preprocessors
preprocess: vitePreprocess(),
kit: {
// adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list.
// If your environment is not supported or you settled on a specific environment, switch out the adapter.
// See https://kit.svelte.dev/docs/adapters for more information about adapters.
adapter: adapter()
}
};
export default config;
```
This adapter requires additional files and configuration to work properly. This adapter requires additional files and configuration to work properly.
An example of a working electron app can be found in the `examples` directory [here](https://github.com/LukeHagar/sveltekit-adapters/tree/main/examples/electron). An example of a working electron app can be found in the `examples` directory [here](https://github.com/LukeHagar/sveltekit-adapters/tree/main/examples/electron).
This package uses `electron-builder` to build the electron app, and `electron-is-dev` to determine if the app is running in development mode. This package uses `electron-builder` to build the electron app, and `electron-is-dev` to determine if the app is running in development mode.
Below is an example of how to use this adapter in your main electron file. This package includes some function exports that are used to start the server and load the local URL for the electron app.
in your projects main electron file, you will need to import these functions and use them to start the server and load the local URL.
Below is an example of how to use this adapters functions in your main electron file.
```js ```js
import { app, BrowserWindow } from 'electron'; import { app, BrowserWindow } from 'electron';
@@ -43,5 +69,3 @@ async function createWindow() {
If you are having issues with this adapter running or building properly, it's most likely related to the `ORIGIN` configured. If you are having issues with this adapter running or building properly, it's most likely related to the `ORIGIN` configured.
I implented a sort of SHIM that will set the value at runtime to the correct value for the local electron desktop environment. I implented a sort of SHIM that will set the value at runtime to the correct value for the local electron desktop environment.
This implementation is fully functional with the caveat that [this PR be merged](https://github.com/alex8088/electron-vite/pull/412).
I have patched the package locally in node modules and validated everything builds perfectly.