Skip to content

Latest commit

 

History

History
89 lines (63 loc) · 3.72 KB

README.md

File metadata and controls

89 lines (63 loc) · 3.72 KB

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:

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 interface

Name Description Constructor options Requirements
Webpack Transpile your code with webpack IWebpackOptions @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 interface

Name Description Options Requirements
ElectronLauncher Launch electron IElectronOptions @xpda-dev/electron-launcher

Launcher

// TODO

Examples

  • Electron cross platform app. Main process was written with help of Typescript
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()