GoodData JS SDK
Thin javascript abstraction over the GoodData REST API
Getting started
- For rich visualizations, please use the GoodData.UI:
- gooddata-js serves for specific background tasks, but it could be used for small applications both in the browser and in the node.js environment.
Usage
Using as a npm package
-
go to your project directory and add the package:
→ with yarn: yarn add @gooddata/gooddata-js
→ with npm: npm install --save @gooddata/gooddata-js
:heavy_exclamation_mark: WARNING: npm package renamed from gooddata
to @gooddata/gooddata-js
:heavy_exclamation_mark:
-
import the package's default export:
→ in transpiled browser app with ES6 modules syntax: import { factory } from '@gooddata/gooddata-js';
→ in node.js with CommonJS syntax: const factory = require('@gooddata/gooddata-js').factory;
-
call the API:
var gooddata = factory({ domain: 'secure.gooddata.com' });
gooddata.user.login('john.doe@example.com', 'your-secret-password')
.then((response) => console.log('Login OK', response))
.catch((apiError) => console.error('Login failed', apiError, "\n\n", apiError.responseBody));
-
Please note that CORS could prevent the request. Refer to your options in GoodData.UI documentation, ie. setup local proxy or ask the GoodData platform for allowing a specific domain.
Using as a standalone library
You have two options:
Then you can import the library file and global variable gooddata
contains all exported members:
<script type="text/javascript" src="gooddata.js"></script>
<script type="text/javascript">
var sdk = gooddata.factory({ domain: 'secure.gooddata.com' });
sdk.user.login('john.doe@example.com', 'your-secret-password')
</script>
Contributing :coffee:
We welcome any contribution in form of issues or pull requests.
Install Node.js (node 12.16.1, npm v6.13.4) and Yarn 1.22.4.
These commands may come in handy while developing:
command | description |
---|
yarn install --frozen-lockfile | first step |
yarn dev | build gooddata-js to /dist in watch mode |
yarn test | run unit tests in watch mode |
yarn validate | validate codestyle (tslint) |
yarn build | build commonjs /lib and bundle files to /dist |
grunt yuidoc:compile | build yui docs to /docs |
Do not forget to update CHANGELOG.md when contributing.
Publishing
:heavy_exclamation_mark: Only for internal gooddata developers :heavy_exclamation_mark:
NPM package publishing
Package publishing is done via Jenkins Job:
https://checklist.intgdc.com/job/client-libs/job/gooddata-js-release/
SDK API documentation publishing
To publish API documentation sdk.gooddata.com/gooddata-js/api you have to prompt following commands:
command | description |
---|
1. yarn build | |
2. grunt bump-gh-pages | Publishes documentation |
Changelog
License
(C) 2007-2018 GoodData Corporation
For more information, please see LICENSE