@connexta/revelio v0.0.5
revelio
Revelio is a sandbox for migrating Intrigue features off of Backbone and Marionette towards GraphQL and React.
Why are we doing this?
There are several reasons for this that will be covered in the architecture section but the gist of it is that we have hit limitations, both in terms of complexity and performance, and need to make these changes so we can continue growing our software. Our goals are to component-ize Intrigue to make it easier to build other similar application and reduce the overall complexity budget required to develop new features.
How are we doing this?
The intention is to keep revelio as as separate project from DDF (as that is inline with the current efforts to split apart the system) and gradually port over features into revelio. In time, when components start to stabilize, we will port them to atlas or dedicated spaces for more specialized components, such as geospatialdraw.
Getting Started
Revelio should be run alongside an instance of DDF. Changes made on DDF (creating/deleting workspaces, result forms, etc.) will then be reflected in Revelio. Revelio uses the RPC API to communicate with DDF. The jar for the rpc endpoint will need to be hot deployed to DDF.
yarn install
yarn start
Yarn Version
One thing to note, please ensure minimum yarn version is at least v1.21.0
. You may encounter errors such as Error: Cannot find module 'MODULE NAME HERE'
if your yarn version is not high enough.
Production
To run the production JavaScript code, do:
yarn build:prod
And then to start the node process, do:
yarn start:prod
Docker
Docker containers can be found here and can be run with the following command:
docker run --rm -it -p 4000:4000 -e DDF_LOCATION=<ddf-url> cnxta/revelio:<version>
NOTE: the docker container needs network access to DDF for this to work.
Architecture
To get a deeper look into the system, take a look at the architecture docs.
GraphQL Tools
For information on GraphQL development tools, take a look at the GraphQL Tools docs.
How to Publish
First bump the version in the package.json
Then build the library:
yarn build:library
Finally publish the library:
npm publish dist