The launcher for Flashpoint Archive (the non-profit web preservation project).
- Documentation - Documentation for Configuation, Development and Extensions information of the Flashpoint Launcher.
- 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.
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/
- Git (for downloading and updating the source code and sub-modules)
- Node & NPM (for building and running the source code)
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
-
Clone the repository with
git clone --branch develop --recurse-submodules https://github.com/FlashpointProject/launcher.git launcher
(wherelauncher
is the path of the directory you want to be the root of the repository). -
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). -
Run
npm run build
ornpm run watch
(at the root of the repository). This will compile the source code and such so the launcher can be executed. Ifwatch
is used, it will rebuild the launcher automatically when a source code or static file is changed. -
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. -
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 inpackage.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.
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 changepack
- Pack the latest build (and put the packaged file with the executable electron app in./dist/
)snapshot
- Build then pack the launcher (same as runningbuild
thenpack
)release
- Build then pack the launcher in release mode (same assnapshot
but it also creates installers, build artifacts etc.)start
- Run the latest build of the launchertest
- 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
.
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