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.
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. When testing a single code unit use a unit test. When testing more than one unit of code or if the test takes time to execute then use an integration test. By default, the commands below will NOT execute tests in watch mode. If changing branches you may have to clear out *.spec.js
and *.integration.js
files.
For unit tests run:
npm test
For integration tests run:
npm run integration
Unit tests are placed in a <unit>.spec.ts
file alongside the <unit>.ts
file under test. Integration tests are placed in a *.integration.ts
file. Our project looks for compiled test files ending in \*.spec.js
or \*.integration.js
depending on what type of test is being run.
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.
- Open the test file in VS Code.
- On the side bar select the Run and Debug view.
- Select the configuration named Debug Ava test file and click Start Debugging (F5).
Learn more about VS Code debugging.
npm run electron-dev
We provide a debugging configuration for VS Code (defined in .vscode/launch.json
)
- set a breakpoint in VS Code somewhere in the Node backend JS code (not front-end React code)
npm run electron-dev
(the Node debugger listens on port 9229)- In VS Code, run the Debug Configuration named Node Backend. The VS Code 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 VS Code
TODO
# Windows:
npm run electron-pack-win
# Mac:
npm run electron-pack-mac
# Linux:
npm run electron-pack-linux
- Create a branch of the form
release/*
, e.g.release/v0.3.5
, orrelease/v0.3.5-rc1
. - Update the version in your project's
package.json
file (e.g. 0.3.5). - Run
npm i
to updatepackage-lock.json
. - Update
CHANGELOG.md
with changes in this release. - Commit these changes to your release branch.
- 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.
- add the ffmpeg license instructions copied from a previous release.
- a Tag version, e.g.
- Push the tag then the commit to GitHub.
- Once the build Action has finished, it will add build artifact files to the draft release. Remove the
.blockmap
and.yml
files and leave the.exe
. - Publish the release.
- In Team City, on the Bible Karaoke project, manually run the Sign Installer build.
- Replace the GitHub release
.exe
with the signed one from Team City downloaded from the Artifacts folder (keep the original GitHub filename).
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\