Create 'karaoke-style' videos of Bible passages to help users become comfortable at reading the Bible in their own language.
Head on over to biblek.info to download and get started.
Notice: This repo utilizes the Git Large File Storage (LFS) extension. Before cloning, install and setup git lfs.
Clone this repo:
git clone [email protected]:sillsdev/bible-karaoke.git bible-karaoke
cd bible-karaoke
Install the dependencies:
npm install
We use the AVA Node.js test runner. By default, the command below will execute tests in watch mode.
npm test
Tests are traditionally placed in a spec.js file alongside the .js file under test. Our project looks for test files ending in *.spec.js If a test is more complex with sample data and/or scenarios, a test folder can optionally be created with additional supporting files to keep things tidy.
npm run electron-dev
We provide a debugging configuration for VSCode (defined in .vscode/launch.json
)
- set a breakpoint in VSCode somewhere in the Node backend JS code (not front-end React code)
npm run electron-dev
(the Node debugger listens on port 9229)- In VSCode, run the Debug Configuration named Node Backend. The VSCode status bar will turn orange when it is successfully attached to the debugger
- Use the Bible Karaoke application - the application will pause when a breakpoint is hit in VSCode
TODO
# Windows:
npm run electron-pack-win
# Mac:
npm run electron-pack-mac
# Linux:
npm run electron-pack-linux
Build the app automatically for distribution:
- Push to a branch of the form
release/*
, e.g.release/v0.3.5
, orrelease/v0.3.5-rc1
. - Look in the GitHub Actions tab for the build artifacts.
Releasing
- Update the version in your project's
package.json
file (e.g. 0.3.4). - Run
npm i
to updatepackage-lock.json
. - Update
CHANGELOG.md
with changes in this release. - Commit these changes to your release branch as defined in the section above.
- Tag your commit. Make sure your tag name's format is
v*.*.*
. - Create a new draft GitHub Release, ensure the following are included:
- a Tag version, e.g.
v0.3.4
. - a copy of the change log.
- the installer artifact from GitHub Actions tab as Assets (attached binary) will be added in step 7.
- a Tag version, e.g.
- Push the tag then the commit to GitHub.
We use ESLint and Prettier with a pre-commit hook. If you use VS Code, install the recommended extensions from this repo and formatting will happen on save.
Developers can download test data (permission must be granted by an admin) from Google Drive
https://drive.google.com/drive/u/1/folders/1rTCkMPA3ZoOn6dXhJHuYTn6QdAKfBj0X
For Windows,
SAB projects are assumed to be located in this folder:
Documents\App Builder\Scripture Apps\App Projects\
HearThis projects are assumed to be located in this folder:
C:\ProgramData\SIL\HearThis\