You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
3.4 KiB
105 lines
3.4 KiB
## Contributing
|
|
|
|
All contribution are welcome even not tech one. To contribute you need to fork, then clone the repo:
|
|
|
|
```
|
|
git clone git@github.com:your-name/jquery.terminal.git
|
|
```
|
|
|
|
Please only modify `js/jquery.terminal-src.js`/`css/jquery.terminal-src.css` files. You can run `make`, but you may have conflicts others push commits with their build (you may have conflict because there is build date/time in build file) make sure you're on devel branch and create PR to devel brach as well, fixes to examples and README can be made directly to master but they could also be made to devel.
|
|
|
|
Non tech contribution are also welcome, if you find a bug in documentation on the website you can file an issue to [jcubic/jquery.terminal-www](https://github.com/jcubic/jquery.terminal-www).
|
|
|
|
|
|
## List of contributors with avatars
|
|
|
|
To update the list, the script need to be run when change is merged to master and since all merges are done on
|
|
devel. I need to run the script when I'm releasing new version. To help me remember, if this is yours first
|
|
contribution, please modify template/Makefile.in and update line `UPDATE_CONTRIBUTORS=1` it should be 1 which
|
|
is true (0 is false). On each build it will show red reminder message and it will stop build when run on master.
|
|
|
|
## Building the project
|
|
|
|
The process of building the project is very simple all you need is this:
|
|
|
|
```bash
|
|
clone https://github.com/jcubic/jquery.terminal.git
|
|
cd jquery.terminal
|
|
npm install
|
|
make
|
|
```
|
|
|
|
While developing you can use -src versions they are work fine. Make will just create
|
|
Release files that have proper version number, create minified files and build emoji
|
|
css.
|
|
|
|
## Test
|
|
|
|
You should run test to make sure you don't break anything, to run tests from browser you need to run
|
|
|
|
```bash
|
|
npm install
|
|
make test
|
|
```
|
|
|
|
and run ESlint and JSONLint using:
|
|
|
|
```bash
|
|
make lint
|
|
```
|
|
you can also run test coverage using
|
|
|
|
```bash
|
|
make coverage
|
|
```
|
|
|
|
## README
|
|
|
|
if you want to modify readme please modify the one in `./templates` directory, because
|
|
that one is source file with {{VER}} markers that get filled with current version when
|
|
running `make`.
|
|
|
|
## Release Cycle
|
|
|
|
* New version is developed on devel branch
|
|
* Each fix and feature need to be added to CHANGELOG.md file
|
|
* After random number of feature and bugfixes are done, the code need to be merged with master
|
|
|
|
```bash
|
|
git checkout master
|
|
git merge devel --no-ff -m 'merge with devel'
|
|
```
|
|
|
|
* then the next version need to be created, last version from CHANGELOG need to be used
|
|
to call version script that rename files that have version at the end.
|
|
|
|
``bash
|
|
./scripts/version 2.21.0
|
|
make
|
|
git commit -am 'version 2.21.0'
|
|
git push
|
|
git tag 2.21.0
|
|
git push --tags
|
|
```
|
|
|
|
**NOTE:** if something is wrong (e.g. Travis CI failed) the tag can be removed, fix can be added
|
|
in new commit and tag need to be added again.
|
|
|
|
* Now version on GitHub is released. You need to wait a bit to have confirmation
|
|
from CI that the build was successful. In mean time you can add Release Notes
|
|
on GitHub. Just click releases -> draft new release then pick the version
|
|
and copy paste what's in CHANGELOG.md file.
|
|
|
|
* After you git confirmation that CI (travis) run successfully you can release
|
|
to npm. By calling:
|
|
|
|
```bash
|
|
make publish
|
|
```
|
|
|
|
* Script will clone the repo (just in case you have lot of files in repo that you
|
|
don't want to publish to npm) into ./npm directory and run `npm publish`,
|
|
after that it will delete the directory.
|
|
|
|
* New version is ready.
|
|
|
|
|