generated from Exabyte-io/template-definitions
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from Exabyte-io/feature/SOF-6643
SOF-6643: Implement COVE and migrate first set of components
- Loading branch information
Showing
67 changed files
with
8,423 additions
and
175 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,87 @@ | ||
# cove.js | ||
[![npm version](https://badge.fury.io/js/%40exabyte-io%2Fcove.svg)](https://badge.fury.io/js/%40exabyte-io%2Fcove) | ||
[![License: Apache](https://img.shields.io/badge/License-Apache-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0) | ||
|
||
## TODO | ||
# cove | ||
|
||
Use `template.py` (analog to `cookiecutter`) to go through user prompts | ||
for some information and then write out templated values in select files. | ||
After usage, remove the `template.py` file and the `README.md` and associated | ||
`files` can be committed. | ||
cove houses entity definitions for use in the Mat3ra platform. | ||
|
||
|
||
### Installation | ||
|
||
For usage within a javascript project: | ||
|
||
```bash | ||
npm install @exabyte-io/cove.js | ||
``` | ||
|
||
For development: | ||
|
||
```bash | ||
git clone https://github.com/Exabyte-io/cove.js.git | ||
``` | ||
|
||
### Typescript | ||
|
||
Typescript and all necessary type dependencies must be present in dependency section of package.json in order | ||
to transpile files and generate type definitions during package installation on postinstall command. | ||
It is necessary for testing arbitrary branches for example as dependency | ||
git+https://github.com/Exabyte-io/cove.js.git#b7604da7717232ac38a6372fea603f0b04645ade in web-app. | ||
|
||
### Contribution | ||
|
||
This repository is an [open-source](LICENSE.md) work-in-progress and we welcome contributions. | ||
|
||
We regularly deploy the latest code containing all accepted contributions online as part of the | ||
[Mat3ra.com](https://mat3ra.com) platform, so contributors will see their code in action there. | ||
|
||
See [ESSE](https://github.com/Exabyte-io/esse) for additional context regarding the data schemas used here. | ||
|
||
Useful commands for development: | ||
|
||
```bash | ||
# run linter without persistence | ||
npm run lint | ||
|
||
# run linter and save edits | ||
npm run lint:fix | ||
|
||
# compile the library | ||
npm run transpile | ||
|
||
# run tests | ||
npm run test | ||
``` | ||
|
||
## Using Linter | ||
|
||
Linter setup will prevent committing files that don't adhere to the code standard. It will | ||
attempt to fix what it can automatically prior to the commit in order to reduce diff noise. This can lead to "unexpected" behavior where a | ||
file that is staged for commit is not identical to the file that actually gets committed. This happens | ||
in the `lint-staged` directive of the `package.json` file (by using a `husky` pre-commit hook). For example, | ||
if you add extra whitespace to a file, stage it, and try to commit it, you will see the following: | ||
|
||
```bash | ||
➜ repo-js git:(feature/cool-feature) ✗ git commit -m "Awesome feature works great" | ||
✔ Preparing... | ||
✔ Running tasks... | ||
✖ Prevented an empty git commit! | ||
✔ Reverting to original state because of errors... | ||
✔ Cleaning up... | ||
|
||
⚠ lint-staged prevented an empty git commit. | ||
Use the --allow-empty option to continue, or check your task configuration | ||
|
||
husky - pre-commit hook exited with code 1 (error) | ||
``` | ||
|
||
The staged change may remain but will not have been committed. Then it will look like you still have a staged | ||
change to commit, but the pre-commit hook will not actually commit it for you, quite frustrating! Styling can | ||
be applied manually and fixed by running: | ||
|
||
```bash | ||
npm run lint:fix | ||
``` | ||
|
||
In which case, you may need to then add the linter edits to your staging, which in the example above, puts the | ||
file back to identical with the base branch, resulting in no staged changes whatsoever. | ||
|
Oops, something went wrong.