1
0
mirror of https://github.com/oceanprotocol/ocean.js.git synced 2024-11-26 20:39:05 +01:00

new readme structure, add watch script

This commit is contained in:
Matthias Kretschmann 2020-08-19 14:19:09 +02:00
parent 76423a4ff8
commit 5c36e14499
Signed by: m
GPG Key ID: 606EEEF3C479A91F
2 changed files with 82 additions and 9 deletions

View File

@ -1,11 +1,15 @@
[![banner](https://raw.githubusercontent.com/oceanprotocol/art/master/github/repo-banner%402x.png)](https://oceanprotocol.com)
[![Build Status](https://travis-ci.com/oceanprotocol/ocean-lib-js.svg?token=soMi2nNfCZq19zS1Rx4i&branch=develop)](https://travis-ci.com/oceanprotocol/lib-js)
<h1 align="center">Ocean-lib</h1>
`ocean-lib` is a Javascript library to privately & securely publish, exchange,
and consume data. With it, you can:
> JavaScript library to privately & securely publish, exchange, and consume data.
[![npm](https://img.shields.io/npm/v/@oceanprotocol/lib.svg)](https://www.npmjs.com/package/@oceanprotocol/lib)
[![Build Status](https://travis-ci.com/oceanprotocol/ocean-lib-js.svg?token=soMi2nNfCZq19zS1Rx4i&branch=main)](https://travis-ci.com/oceanprotocol/ocean-lib-js)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-7b1173.svg?style=flat-square)](https://github.com/prettier/prettier)
[![js oceanprotocol](https://img.shields.io/badge/js-oceanprotocol-7b1173.svg)](https://github.com/oceanprotocol/eslint-config-oceanprotocol)
With it, you can:
- **Publish** data services: downloadable files, streaming data, or compute-to-data.
Ocean creates a new [ERC20](https://github.com/ethereum/EIPs/blob/7f4f0377730f5fc266824084188cc17cf246932e/EIPS/eip-20.md)
@ -19,23 +23,91 @@ and consume data. With it, you can:
This is in alpha state and you can expect running into problems. If you run into them, please open up a [new issue](/issues).
## Quick Install
- [🏗 Installation](#-installation)
- [🏄 Quick Start](#-quick-start)
- [Simple Flow](#simple-flow)
- [Marketplace Flow](#marketplace-flow)
- [🦑 Development](#-development)
- [✨ Code Style](#-code-style)
- [🛳 Production](#-production)
- [⬆️ Releases](#-releases)
- [Production](#production)
- [🏛 License](#-license)
`npm i @oceanprotocol/lib`
## 🏗 Installation
## Quickstart: Simple Flow
```bash
npm install @oceanprotocol/lib
```
## 🏄 Quick Start
### Simple Flow
This stripped-down flow shows the essence of Ocean. Just downloading, no metadata.
[Go to simple flow](docs/README_simple_flow.md)
## Quickstart: Marketplace Flow
### Marketplace Flow
This batteries-included flow includes metadata, multiple services for one datatoken, and compute-to-data.
[Go to marketplace flow](docs/README_marketplace_flow.md)
## License
## 🦑 Development
The project is authored with TypeScript and compiled with `tsc`.
To start compiler in watch mode:
```bash
npm start
```
## ✨ Code Style
For linting and auto-formatting you can use from the root of the project:
```bash
# lint all js with eslint
npm run lint
# auto format all js & css with prettier, taking all configs into account
npm run format
```
## 🛳 Production
To create a production build, run from the root of the project:
```bash
npm run build
```
## ⬆️ Releases
Releases are managed semi-automatically. They are always manually triggered from a developer's machine with release scripts.
### Production
From a clean `main` branch you can run any release task bumping the version accordingly based on semantic versioning:
- To bump a patch version: `npm run release`
- To bump a minor version: `npm run release -- minor`
- To bump a major version: `npm run release -- major`
Every task does the following:
- bumps the project version in `package.json`, `package-lock.json`
- auto-generates and updates the CHANGELOG.md file from commit messages
- creates a Git tag
- commits and pushes everything
- creates a GitHub release with commit messages as description
- Git tag push will trigger Travis to do a npm release
For the GitHub releases steps a GitHub personal access token, exported as `GITHUB_TOKEN` is required. [Setup](https://github.com/release-it/release-it#github-releases)
## 🏛 License
```
Copyright ((C)) 2020 Ocean Protocol Foundation

View File

@ -6,6 +6,7 @@
"typings": "./dist/node/lib.d.ts",
"unpkg": "./dist/browser/lib.cjs2.min.js",
"scripts": {
"start": "npm run clean && npm run build:metadata && tsc -w",
"build": "npm run clean && npm run build:metadata && npm run build:tsc",
"build:tsc": "tsc --sourceMap",
"build:metadata": "./scripts/get-metadata.js > src/metadata.json",