0.1.6 • Published 5 years ago

@cowri/dapp-sdk v0.1.6

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
5 years ago

shell-manager

Shell Manager

Developer setup

git clone https://github.com/cowri/shell-manager.git
npm install
npm install -g download-cli extract-zip
npm run clean
npm run build
npm run test

Testing

  • Unit tests of the shell-manager run with Jest and depend on a local instance of Ganache-cli running as the Denise user. More information about Ganache-cli and our implementation can be found in Installation.MD.
  • Ensure download-cli is installed with npm install -g download-cli
  • Ensure extract-zip is installed with npm install -g extract-zip
  • Ensure the cowri_ganache.zip ganache snapshot is downloaded with npm run download-snapshot
  • To run the unit tests, ensure that Ganache-cli is running as denise with npm run ganache:denise, then in a separate terminal run npm run test:watch. This will open up an interactive test terminal and will automatically run tests whenever any file is saved.
  • You can reset the ganache instance at any time by exiting out of the running instance with ctrl-c and restarting the instance with npm run ganache:denise
  • Please keep in mind that Ganache-cli is essentially a persistent mock of the blockchain, so any updates to token balances or user shells will persist between tests. This won't be a problem as long as the unit tests either revert changes they make to users or their shells or if they never depend on hardcoded token balances.
  • If you run into a situation where you need to manually reset your ganache instance, you can do so with npm run reset-snapshot.

Pushing to NPM

npm publish

For the time being these two following commands are removed.
When the tests are completing healthily, they will be put back
in to the scripts portion of package.json, which will test 
the repository before publication of new versions.

  "prepare": "npm run build",
  "prepublishOnly": "npm run test && npm run lint",

Generating Documentation

Currently documentation generation is set up to go the gitbook repsoitory Publishing process 1. Clone gitbook repsoitory into the same parent directory as shell-manager 2. generate the documentation e.g. npm run docs ./src/provider/CowriWeb3Provider.ts 3. Note

  • when using npm run docs you must specify the directory of file you want to create documentation for (as above)
  • If you would like to use a different destination directory for documentation you can use the following command .node_modules/.bin/typedoc --theme markdown --mdEngine gitbook --out ../gitbook/typedoc/ ./src/provider/CowriWeb3Provider.ts