/barcode-to-pc-server

Barcode to PC server

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

Barcode to PC server

Useful links

Downloads

Repositories

Build status

Build status Build Status

Setup

  1. Install the required dependencies:
  2. Clone the repository
    git clone https://github.com/fttx/barcode-to-pc-server/
    cd barcode-to-pc-server
    npm install
    • If you're building on Windows, you may need to install these packages:
    • If you're building on macOS, you may need to install these packages: brew install glib
    • If you're building on Linux, you may need to install these packages: sudo apt-get install -y libx11-dev libxtst-dev libpng-dev zlib1g-dev icnsutils graphicsmagick libavahi-compat-libdnssd-dev && sudo snap install snapcraft --classic

Release

npm run dist # build the angular project in prod mode and generate the app install files for the current platform, works with Windows/macOS/Linux. Out dir: dist/dist/
npm run publish # build the angular project in prod mode and generate the app installer for the current platform and uploads it to GitHub releases
npm run publish-l  # build the angular project in prod mode, generate the app installer for linux and uploads them to GitHub releases
  • To sign the installers follow the electron-builder code-signing tutorial. TL;DR: set CSC_LINK and CSC_KEY_PASSWORD environment variables.
  • To enable the publishing to GitHub releases set GH_TOKEN environment variable and give all the repo permissions
  • The installer will be put in the dist/dist/ folder.
  • If you get sass errors run cd ionic && npm rebuild node-sass --force

Run

  • If you're working on the angular project (src):
# npm run build     must be called at least once before executing the commands below:

npm start # run electron with dev tools and the webserver with livereload
# use cmd.exe on Windows
  • If you're working on the electron/main.ts file:
npm run watch # run the webserver with livereload and also watch the electron/main.ts file
npm run electron:dev # run electron with dev tools or press F5 if you're using VSCode to start debugging

Simulate updates

  1. Install minio as explained here
  2. Run ./node_modules/.bin/electron-builder --project ./dist/ -c.compression=store --config.publish.provider=s3 --config.publish.endpoint=http://IP:9000 --config.publish.bucket=test-update

Publishing updates

The server implements electron-update.

To publish an update:

  1. Draft a new release on GitHub and name it v<new version number>
  2. Increase the version number of the package.json
  3. Commit & push the changes
  4. Add a tag and name it v<new version number>
  5. Push the tag

Note: for macOS delete the electron/electron-resources/*.rtf folder and run: npm run publish

Upon the tag push, travis and appveyor will build and sign the new installers. At this point if all looks good the only thing left to do is to publish the Github release draft.