All contributions are welcome!
We use ECMAScript 2018 in this project. So please use async/await instead of Promises and feel free to make use of the newest Javascript features whenever it makes sense. See (Code Style for further information).
This project uses's Vue's single-file-components. They are parsed and bundled with webpack (see docs for vue-loader).
This project uses Prettier. You can let Prettier format everything on save using a watcher, there is no pre-commit hook. eslint is also set up of course.
You should use eslint to check your code before you commit it to avoid code style errors:
npm run lint
You can also configure your editor or IDE to use eslint (and Prettier) and check your code during development.
Use ComponentName.test.js
to write unit tests for a component. This project uses Jest + Vue test utils.
Run tests with
npm run test
Please commit your changes in the conventional commit format.
You can't do anything wrong if you use
npm run commit # ...or yarn commit
to commit changes. It will run commitizen.
This will also guarantee that your commits can be used to automatically generate new changelog entries.
You can release a new app version (and update the changelog) by running npm run release
.
Please create feature branches and make a pull request to master if you want to implement new features.
All releases (i.e. tagged commits) on master will be automatically deployed to now.sh!
Staging | Production |
---|---|
[https://spotify-magician.ericlambrecht.now.sh] | [https://spotify-magician.ericlambrecht.now.sh] |
We have an automated deployment pipeline using Github Workflows. You can monitor the current build status in the "Actions" tab or next to every commit.