Skip to content

christof-b/electron-technicolour-flash

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

electron-technicolour-flash

An Electron runtime based flash tool for Technicolour modems.

Based on electron-boilerplate and inspired by autoflashgui.

IMPORTANT: I don't offer any warranty for damages caused by this program (neither me nor the deps authors are perfect...). Use this tool at you own risk!

Current state [beta]

The tool is able to flash selected firmware and root device. Testet on DGA4132 only.

Next steps:

  • Improve GUI to provide full featureset of autoflashgui ...
  • Create a easy to use solution based on further dev

Quick start

Make sure you have Node.js installed, then type the following commands known to every Node developer...

git clone https://github.com/christof-b/electron-technicolour-flash
cd electron-technicolour-flash
npm install
npm start

...and you have a running desktop application on your screen.

Structure of the project

The application consists of two main folders...

src - files within this folder get transpiled or compiled (because Electron can't use them directly).

app - contains all static assets which don't need any pre-processing. Put here images, CSSes, HTMLs, etc.

The build process compiles the content of the src folder and puts it into the app folder, so after the build has finished, your app folder contains the full, runnable application.

Treat src and app folders like two halves of one bigger thing.

The drawback of this design is that app folder contains some files which should be git-ignored and some which shouldn't (see .gitignore file). But this two-folders split makes development builds much, much faster.

Development

Starting the app

npm start

Testing

Run all tests:

npm test

Unit

npm run unit

Using electron-mocha test runner with the Chai assertion library. You can put your spec files wherever you want within the src directory, just name them with the .spec.js extension.

End to end

npm run e2e

Using Mocha and Spectron. This task will run all files in e2e directory with .e2e.js extension.

Making a release

To package your app into an installer use command:

npm run release

Once the packaging process finished, the dist directory will contain your distributable file.

We use electron-builder to handle the packaging process. It has a lot of customization options, which you can declare under "build" key in package.json.

You can package your app cross-platform from a single operating system, electron-builder kind of supports this, but there are limitations and asterisks. That's why this boilerplate doesn't do that by default.

About

Boilerplate application for Electron runtime

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 80.3%
  • HTML 19.6%
  • CSS 0.1%