@cowri/cowri-dapp-sdk
v0.1.6
Published
Cowri dapp sdk
Downloads
28
Keywords
Readme
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 runnpm 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 withnpm 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
- Clone gitbook repsoitory into the same parent directory as shell-manager
- generate the documentation e.g.
npm run docs ./src/provider/CowriWeb3Provider.ts
- 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