/launcher

Launcher for Flashpoint Archive

Primary LanguageTypeScriptOtherNOASSERTION

Flashpoint Launcher

The launcher for Flashpoint Archive (the non-profit web preservation project).

Screenshot

Status

Release Status Build Status Coverage Status Crowdin

Links

  • Flashpoint Archive - Download Flashpoint here (the launcher is bundled with it)
  • Donate - Funds go towards the Flashpoint Archive non-profit to sustain archival efforts, not to fund developers of the launcher.

About

The Flashpoint Launcher (FPL) is a desktop application made for browsing, storing and launching other applications (games, animations, web apps etc.). It is specifically made for Flashpoint Archive, a non-profit with the goal of furthering archival and accessibility efforts for games, animations and other digital interactive experiences on the web.

See the docs folder for more information on setting up Flashpoint and Extension authoring.

Extension API Documentation: https://flashpointproject.github.io/launcher_ApiDocs/

Building from source

External Dependencies

Dependencies

  • Git (for downloading and updating the source code and sub-modules)
  • Node & NPM (for building and running the source code)

Linux Dependencies

  • libgtk-3-0
  • libnss3

Follow Development Setup, using master branch for a stable release or develop for the latest features. After setup is complete, run npm run release to generate release builds in /dist.

Install by running sudo apt install libgtk-3-0 libnss3

Development Setup

  1. Clone the repository with git clone --branch develop --recurse-submodules https://github.com/FlashpointProject/launcher.git launcher (where launcher is the path of the directory you want to be the root of the repository).

  2. Navigate to the root of the repository and run npm install - this will download and install all the dependencies from npm (it may take a few minutes).

  3. Run npm run build or npm run watch (at the root of the repository). This will compile the source code and such so the launcher can be executed. If watch is used, it will rebuild the launcher automatically when a source code or static file is changed.

  4. Run npm run start (at the root of the repository) to start the launcher. It is recommended to do this in a second command prompt / terminal.

  5. Optional - It is highly recommended to set the launcher's "Flashpoint folder". This is where the launcher will read and write most data to and from. You can set the "Flashpoint folder" path at the "Config" tab in the launcher. Make sure the background of the text field is green (this means the path is valid) and don't forget to hit "Save and Exit"!

Notes:

  • You will need to run npm install whenever a dependency is added or upgraded in package.json.
  • The launcher is changing rapidly and does not always support older "Flashpoint folders". Sometimes it does not even support the most recent one.
  • It is recommended to have a separate "Flashpoint folder" for launcher development than normal usage.

Package Scripts

Short descriptions of what the scripts in package.json do:

  • build - Build the launcher (build main & renderer and copy static files to ./build/)
  • watch - Build the launcher and incrementally rebuild it when the source or static files change
  • pack - Pack the latest build (and put the packaged file with the executable electron app in ./dist/)
  • snapshot - Build then pack the launcher (same as running build then pack)
  • release - Build then pack the launcher in release mode (same as snapshot but it also creates installers, build artifacts etc.)
  • start - Run the latest build of the launcher
  • test - Run the test suite (to find out if anything covered by the tests has been broken)
  • lint - Run the linter

pack / snapshot / release will by default pack for the OS and architecture of the machine that runs it.

To pack for a specific OS / architecture use the handy package scripts (such as pack:linux or release:win32) or set the environment variables PACK_PLATFORM / PACK_ARCH.

Troubleshooting

"Not allowed to load local resource" Error

If this error appears in the electron applications console, it is probably because the file it is looking for does not exist. To solve this, run npm run build

Example: Not allowed to load local resource: file:///<ProjectPath>/build/renderer/index.html