Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/michalzaq12/xpda-dev
Cross platform desktop app development tools
https://github.com/michalzaq12/xpda-dev
Last synced: about 2 months ago
JSON representation
Cross platform desktop app development tools
- Host: GitHub
- URL: https://github.com/michalzaq12/xpda-dev
- Owner: michalzaq12
- License: mit
- Created: 2019-07-22T09:36:17.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-02-19T14:32:00.000Z (11 months ago)
- Last Synced: 2024-11-07T10:02:46.759Z (about 2 months ago)
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/@xpda-dev/core
- Size: 1.14 MB
- Stars: 2
- Watchers: 1
- Forks: 3
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
xpda-dev
Cross platform desktop app development tools
Everything in xpda-dev is based on high level abstraction, so you can easily write own implementation
Install
Install with npm:
```bash
npm install --save-dev @xpda-dev/core
```Concepts
### Steps
Step allows you to build or do everything you wish with your application to make it ready to use.
**Each step must implement [IStep](https://github.com/michalzaq12/xpda-dev/blob/master/packages/core/src/IStep.ts) interface**
| Name | Description | Constructor options | Requirements |
| ------- | ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| Webpack | Transpile your code with [webpack](https://github.com/webpack/webpack) | [IWebpackOptions](https://github.com/michalzaq12/xpda-dev/blob/master/packages/webpack-step/src/Webpack.ts#L8) | [@xpda-dev/webpack-step](https://www.npmjs.com/package/@xpda-dev/webpack-step) |### Launcher
Launcher allows you to run application when all steps completed (step may fail). _Launcher works only in development mode._
**Launcher must implement [ILauncher](https://github.com/michalzaq12/xpda-dev/blob/master/packages/core/src/ILauncher.ts) interface**
| Name | Description | Options | Requirements |
| ---------------- | ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| ElectronLauncher | Launch [electron](https://github.com/electron/electron) | [IElectronOptions](https://github.com/michalzaq12/xpda-dev/blob/master/packages/electron-launcher/src/ElectronLauncher.ts#L6) | [@xpda-dev/electron-launcher](https://www.npmjs.com/package/@xpda-dev/electron-launcher) |### Launcher
// TODO
Examples
- Electron cross platform app. Main process was written with help of Typescript
```javascript
const electron = require('electron')
const { Pipeline } = require('@xpda-dev/core')
const { Webpack } = require('@xpda-dev/webpack-step')
const { ElectronLauncher } = require('@xpda-dev/electron-launcher')const launcher = new ElectronLauncher({
entryFile: './dist/index.js',
electronPath: electron,
})const webpackConfig = Webpack.getTypescriptConfig({
tsconfig: './tsconfig.json',
entry: './index.ts',
output: {
filename: 'index.js',
path: './dist',
},
})const webpackStep = new Webpack({
webpackConfig: webpackConfig,
launcher: launcher,
})const pipe = new Pipeline({
title: 'electron-pipeline',
isDevelopment: true,
steps: [webpackStep],
launcher: launcher,
})pipe.run()
```