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

5.105.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

/@springtree/eva-sdk-redux/

    Package Sidebar

    Install

    npm i @springtree/eva-sdk-redux

    Weekly Downloads

    308

    Version

    5.105.0

    License

    ISC

    Unpacked Size

    13.9 MB

    Total Files

    1571

    Last publish

    Collaborators

    • mdoeswijk
    • janvandenberg
    • adebree
    • appie
    • springtree_solutions