2.3.0 • Published 1 month ago

@firebolt-js/openrpc v2.3.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
1 month ago

title: Home

Firebolt JS SDK

For building Firebolt compliant apps.

Usage

Using the Firebolt SDK requires access to a private npm package.

To install the package, run:

npm install @firebolt-js/sdk

You may need to log in to npm first:

> npm login
npm notice Log in on https://registry.npmjs.org/
Username: _

Simply follow the prompts to log in and then you should be able to install the package using the install command above.

To use the package, import one of it's modules, e.g.:

import { Lifecycle } from '@firebolt-js/sdk'

Contributing

The SDK is auto-generated using OpenRPC schemas for Firebolt methods and events.

The Firebolt OpenRPC schemas, as well as the code used to generate the JavaScript Firebolt SDK, are stored in the github repository. Contact jeremy.lacivita@comcast.com for access.

For manageability, each module has it's own OpenRPC schema file, and they are merged into single schema when building.

Top-level repository contents include:

PathDescription
buildTarget for various sdk & doc builds
build/docs/markdownTarget for markdown documentation of the SDK
distTarget for production distributions, to be hosted on npm, etc
srcContains all schemas and code & doc generate src, including scripts and templates
src/modulesContains top-level OpenRPC schemas for each module
src/schemasContains reusable JSON-Schemas
src/templateContains templates for docs & various sdk builds

All of the JSON files in modules are merged together using src/template.json as the container. When merging, every module's methods have the module's title (from info.title) inserted before the method name and joined with a .. The components, e.g. schemas, etc., from each module are also merged. Here is a detailed diagram of how the merge script works. Merge Script Control Flow Diagram

To see the merged OpenRPC output, run:

npm run build:openrpc

and look at the output in dist/firebolt-open-rpc.json.

Reusable Firebolt schemas are stored in src/schemas and injected into the generated schema.

Reusable non-Firebolt schemas are stored in src/external and injected into the generated schema when referenced.

Absolute $ref links are left as is.

To generate the SDK, run:

npm run build:sdk

and look at the generated JS in build/sdk/javascript.

To test the SDK, run:

npm run dist:sdk

This builds the production version of the SDK and runs all tests.

To re-run the tests (w/out building the SDK) you can, run:

npm run test

Note that this is mainly useful for test-writing when the SDK is not changing.

To generate the docs, run:

npm run build:docs
3.0.0-next.2

1 month ago

3.0.0-next.1

2 months ago

2.3.0

3 months ago

2.3.0-next.1

4 months ago

2.0.3

9 months ago

2.2.0

5 months ago

2.0.4

9 months ago

2.0.4-next.2

9 months ago

2.0.4-next.3

9 months ago

2.0.2-next.3

10 months ago

2.0.4-next.1

9 months ago

2.1.1-next.2

6 months ago

2.1.0-next.2

8 months ago

2.1.1-next.3

6 months ago

2.1.0-next.1

8 months ago

2.1.0-next.3

8 months ago

2.1.1-next.1

8 months ago

2.2.0-next.1

5 months ago

2.1.2

6 months ago

2.1.1

6 months ago

2.0.3-next.2

10 months ago

2.0.3-next.1

10 months ago

2.1.0

8 months ago

2.0.3-next.3

9 months ago

2.0.2

11 months ago

2.0.2-next.2

11 months ago

2.0.0-next.2

1 year ago

2.0.0-next.3

12 months ago

2.0.1

12 months ago

2.0.2-next.1

12 months ago

2.0.0

1 year ago

2.0.1-next.2

12 months ago

2.0.1-next.1

12 months ago

2.0.1-next.3

12 months ago

1.8.0-next.2

1 year ago

1.7.1-next.2

1 year ago

1.7.1-next.1

1 year ago

1.7.1-next.3

1 year ago

1.6.2-next.1

2 years ago

1.7.2-next.1

1 year ago

1.7.0-next.1

2 years ago

1.4.1-next.1

2 years ago

1.7.1

1 year ago

1.7.0-next.6

1 year ago

1.7.0-next.7

1 year ago

1.7.0

2 years ago

1.7.0-next.4

2 years ago

1.7.0-next.5

2 years ago

1.7.0-next.2

2 years ago

1.7.0-next.3

2 years ago

1.8.0-next.1

1 year ago

1.6.1

2 years ago

1.6.0

2 years ago

1.5.0

2 years ago

1.6.0-beta.0

2 years ago

1.6.0-beta.1

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.1-beta.1

2 years ago

1.3.0-alpha.2

2 years ago

1.3.0-alpha.1

2 years ago

1.3.0-alpha.0

2 years ago

1.2.0

2 years ago

1.2.0-beta.1

2 years ago

1.2.0-beta.3

2 years ago

1.2.0-beta.2

2 years ago

1.2.0-beta.5

2 years ago

1.2.0-beta.4

2 years ago

1.1.0-beta.2

2 years ago

1.1.0-alpha.1

3 years ago

1.1.0-beta.1

2 years ago

1.1.0-alpha.2

3 years ago

1.0.1-rc.6

3 years ago

1.0.1-rc.5

3 years ago

1.0.1-rc.4

3 years ago

1.0.1-rc.3

3 years ago

1.0.1-rc.2

3 years ago

1.0.1-rc.1

3 years ago

1.0.1-beta.5

3 years ago

1.0.1-beta.4

3 years ago

1.0.1-beta.3

3 years ago

1.0.1-beta.2

3 years ago

1.0.1-beta.1

3 years ago

1.0.0-beta.4

3 years ago

1.0.0-beta.3

3 years ago

1.0.0-beta.2

3 years ago

1.0.0-beta.1

3 years ago