https://github.com/threefoldtech/js-ng
next gen js
https://github.com/threefoldtech/js-ng
Last synced: about 1 month ago
JSON representation
next gen js
- Host: GitHub
- URL: https://github.com/threefoldtech/js-ng
- Owner: threefoldtech
- License: apache-2.0
- Created: 2019-07-23T10:16:25.000Z (almost 6 years ago)
- Default Branch: development
- Last Pushed: 2023-06-07T13:35:49.000Z (almost 2 years ago)
- Last Synced: 2025-04-09T17:09:52.171Z (about 1 month ago)
- Language: Python
- Size: 5.79 MB
- Stars: 4
- Watchers: 20
- Forks: 5
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- Contributing: contributing.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# js-ng
[](https://mybinder.org/v2/gh/threefoldtech/js-ng/development?filepath=docs%2Fnotebooks)
](https://img.shields.io/pypi/v/js-ng.svg)
[](https://github.com/threefoldtech/js-ng/actions?query=branch%3Adevelopment)
[![[https://codecov.io/gh/threefoldtech/js-ng]](https://codecov.io/gh/threefoldtech/js-ng/branch/development/graph/badge.svg)](https://codecov.io/gh/threefoldtech/js-ng/branch/development)config management/automation framework
## Principles
- pip installable
- facilities exposed under `loader object`: `j`
- pluggable
- docs and tests are as important as code## Contribution
- Clean code (pep-8)
- Documentation
- Tests## Development environment
- install [poetry](https://poetry.eustace.io)
- clone this repository, then
- `poetry install`### Accessing the virtualenv
To access the virtual env `poetry shell`
## Interacting with js-ng Environment
if you are out of the virtualenv shell, make sure to prefix all of your commands with `poetry run`
## Accessing jsng (custom shell)
just type `jsng`.
if you have any problems related to `setuptools`, just try to upgrade it before starting `jsng`.
```bash
python3 -m pip install setuptools -U
```## Running tests
- `make tests`
## Generating docs
- `make docs`
## Generate tests docs
- `make testdocs`
## building dists
- `poetry build`
## releasing & publishing
- Create a branch `development_VERSION`
- Generate documentation `make docs`
- Update js-ng version in `pyproject.toml` to the branch version
- Create a pull request against the development branch
- Merge the pull request into development
- Create a pull request from development against the master branch
- Merge the pull request into master
- make sure to call `poetry build`
- enter your api token `poetry config pypi-token.pypi your-api-token`
- then publish to pypi using `poetry publish` (note that this requires to be on the publisher account)
- now a [release can be added](https://github.com/threefoldtech/js-ng/releases/new) with a tag on master branch.## API Docs
[browsable](https://threefoldtech.github.io/js-ng/api/jumpscale/) at [https://threefoldtech.github.io/js-ng/api/jumpscale/](https://threefoldtech.github.io/js-ng/api/jumpscale/)
## Wiki
We already prepared a docsify [wiki](https://threefoldtech.github.io/js-ng/wiki) website
## Contribution
### Pre-commit
We use pre-commit to enforce certain coding style and checks while contributing to js-ng repository. Please make sure to install
#### Installation
It's as easy as `python3 -m pip install pre-commit`
#### Installing pre-commit hooks in the repository
Execute `pre-commit install`