If you are working on an existing issue, please claim it with your comment, so there is no duplicate work.
See package.json for all the npm run ...
scripts or view/execute them in vscode explorer sidebar.
- Ensure NodeJS version 12.16.3 LTS or larger is installed on your system.
- Clone the repository using git.
- Run
npm run i
in the folder that you've just cloned to ensure you have all dependencies that are needed for development. - Install the
@recommended
extensions if using VSCode editor. - Run
npm run start
to start the app on https://localhost:9200 - Run
npm run start:electron
after previous step to run the web app inside electron window
Hidden Files in VSCode
Some files are hidden in vscode file viewer by default (mostly config files, not relevant to actual development),
see the files.exclude
option in the settings file to enable them if needed.
To quickly enable/disable the hidden files in vscode, you can use the recommended
adrianwilczynski.toggle-hidden
extension.
VSCode Material Icon Theme workspace settings regarding folder and file associations do not work unless they are defined in the user settings file.
Copy/Paste
material-icon-theme.folders.associations
andmaterial-icon-theme.files.associations
into your user settings.json from the definitions in .vscode/settings.json.
When your work is done:
- Run
npm run build
. - Run
npm affected:test
- After a successful build and tests, make a commit and push your changes.
If you're fixing a existing issue: be sure to link to that issue in the git commit message, like so:
Closes #IssueNumberThatGetsFixed
. - Create a new Pull Request.
- Write a good description of the changes this pull-request will make.
- You must provide screenshots if there is a visual change.
This project has the following technologies
- NX dev tools
- Angular
- Electron
- Material CDK
- music-metadata-browser
- music-metadata
- Balloon Css Tooltips
- Paper Css Styles
- FontAwesome Icons
Read more about them here
- See the NX Readme
- See the NX Electron Readme
Prettier Formatter is set up along with the VSCode Prettier Extension to enforce consistent code style/formatting along with Husky and Lint Staged to auto format before commits are pushed.
- Formatting styles are defined in prettierrc and editorconfig
- Husky will create git hooks on
npm install
- The pre-commit hook calls the npm
pre-commit
script in package.json