Skip to content

Repository files navigation

npm version

GoodData JS SDK

Thin javascript abstraction over the GoodData REST API

Getting started

Usage

Using as a npm package

  1. go to your project directory and add the package:
    → with yarn: yarn add @gooddata/gooddata-js
    → with npm: npm install --save @gooddata/gooddata-js

    WARNING: npm package renamed from gooddata to @gooddata/gooddata-js

  2. 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;

  3. 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));
  4. 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:

  • download gooddata.js or gooddata.min.js from the latest release
  • build on your own:
    git clone https://github.com/gooddata/gooddata-js.git
    cd gooddata-js
    git checkout v6.0.0 # choose a version, or omit this line to use unstable code from `master` branch
    yarn install --pure-lockfile
    yarn build
    # get gooddata.js and gooddata.min.js from /dist folder

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 ☕

We welcome any contribution in form of issues or pull requests.

Install Node.js and Yarn (for versions, see docker/.config)

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

Only for internal gooddata developers

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-2021 GoodData Corporation

For more information, please see LICENSE

About

Thin javascript abstraction over the GoodData REST API

Topics

Resources

Stars

22 stars

Watchers

45 watching

Forks

Releases

Packages

Used by

Contributors

Languages