@springtree/eva-sdk-redux
TypeScript icon, indicating that this package has built-in type declarations

5.55.0 • Public • Published

EVA SDK Redux

DEPRECATION NOTICE: This SDK has been deprecated in favour of the new modular EVA SDK

🌲 Purpose

The EVA SDK provides access to the functionality exposed by the EVA API using developer focused methods and classes. This SDK is built specifically to provide a redux state store.

Pre 2.0 migration

Since SDK version 2.0 we have switched to a newer TypeScript interface generation method. The EVA backend supplies us with these typings and as time went on refactoring and reorganization was required that could no longer be done in a backwards compatible way. A number of old namespace have been removed and are now a part of EVA.Core. Effectively you will need to do some search and replace operations to use the same typings from their new namespace:

The most common changes are:

  • EVA.Core.Services -> Eva.Core
  • EVA.CRM -> EVA.Core
  • EVA.UserTasks -> EVA.Core
  • EVA.API.ResponseMessage -> EVA.Core.EmptyResponseMessage/EVA.CoreResourceResponseMessage
  • EVA.API.ServiceExceptionResult -> EVA.Core.ServiceError

The new typings also properly declare embedded types inside the parent type now. Previously these names would have been contracted into a single name. So for example GetProductAvailabilityAvailabilityOptions is now GetProductAvailability.AvailabilityOptions;

Documentation

You can find the documentation for the SDK right here on github pages: https://springtreesolutions.github.io/eva-sdk-redux/. All the documentation files are in the docs folder in Markdown format

🌱 Getting started

npm install --save @springtree/eva-sdk-redux

Please see the documentation for how to use the SDK itself and the EVA documentation for how to use the services.

🔨 Development

Run:

# Install dependencies
npm install

# Update the EVA types and definitions
npm run eva-services

# Run the unit test suite after any code changes
npm run test

🆒 Technology stack

  • typescript
  • redux
  • signal-r
  • node (v14)

🔀 Branch strategy and protection

The main branch master has protection against direct pushes.

Local development

You can use npm link to use a local version of the SDK. Run the following commands:

npm i
npm run build
npm link
npm prune --production

# cd to your application
npm link @springtree/eva-sdk-redux

If linking does not work due to peer dependency conflicts there is an alternative using npm pack. This will create a zip file which contains exactly what would be uploaded to npm.

npm i
npm run build
npm run pack

# cd to your application
npm i ../eva-sdk-redux/springtree-eva-sdk-redux-0.0.0.tgz

Remember to revert your package.json to the normal version instead of the now set file:... value when you are done with local development

Testing

There is large unit test suite you can (and should) run with npm run test.

You can run a single test with: npx jest test/your-test.test.ts.

🆙 Deploying

Github actions will automatically build and release any push to the master branch. Semantic release is used to detect changes and will publish the package on NPM

Readme

Keywords

none

Package Sidebar

Install

npm i @springtree/eva-sdk-redux

Weekly Downloads

105

Version

5.55.0

License

ISC

Unpacked Size

13.6 MB

Total Files

1586

Last publish

Collaborators

  • mdoeswijk
  • janvandenberg
  • adebree
  • appie
  • springtree_solutions