Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/peopleware/node-ppwcode-gitinfo
Encapsulation of code that returns information about the current state of the (highest) git working copy we are in
https://github.com/peopleware/node-ppwcode-gitinfo
Last synced: 3 days ago
JSON representation
Encapsulation of code that returns information about the current state of the (highest) git working copy we are in
- Host: GitHub
- URL: https://github.com/peopleware/node-ppwcode-gitinfo
- Owner: peopleware
- License: apache-2.0
- Created: 2017-06-15T14:53:13.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-05T00:50:12.000Z (almost 2 years ago)
- Last Synced: 2024-04-13T23:55:21.449Z (7 months ago)
- Language: JavaScript
- Size: 1.1 MB
- Stars: 0
- Watchers: 6
- Forks: 0
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[Node.js] package to get information about the current status of a git working copy.
This package was created to be used in the context of [Terraform]. See [terraform-ppwcode-modules].
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
Installation
============To install, do
> npm install --save \@ppwcode/node-gitinfo
Usage in code
=============When used in other code, use
const GitInfo = require("@ppwcode/node-gitinfo)
You can tag with
const tagGitRepo = require("@ppwcode/node-gitinfo/tagGitRepo)
CLI
===
`gitinfo.js` is a CLI tool that uses this code. See
> node ./bin/gitinfo.js -h
for help. This program is installed in npm as `gitinfo`.> node ./bin/gitinfo.js gi
is intended for use in a [Terraform external data source provider]. It returns JSON.Compatibility
=============This library is intended to be compatible with Node 6, 8, and 10.
Development
===========Node version
------------Development is done in Node 10, via `nvm`.
Compatibility
-------------The code does not use `async` / `await`, which was introduced in Node 8.
Also, we use `Q` as Promise library, instead of native Promises, since Node 6 does not yet support `util.promisify()`.
We use `Q.nfcall` instead.Style
-----[![JavaScript Style Guide](https://cdn.rawgit.com/standard/standard/master/badge.svg)](https://github.com/standard/standard)
This code uses [Standard] coding style.
TODO
====Setup a CI
----------Move to `ppwcode` team. Request access from Travis.
Create parallel builds for Node 6, 8 10, and back tag.Test bin
--------Create integration tests for the `bin/gitInfo.js` with 100% coverage.
[Terraform]: https://peopleware.atlassian.net/wiki/x/CwAvBg
[Node.js]: https://nodejs.org
[Terraform external data source provider]: https://www.terraform.io/docs/providers/external/data_source.html
[terraform-ppwcode-modules]: https://github.com/peopleware/terraform-ppwcode-modules
[Standard]: https://standardjs.com