I'm looking for some guide on how to set up local environment to start contributing to openzeppelin-sdk, e.g. how to start daemon that convert typescript to js, how to link folder with openzeppelin-sdk as a global npm package, how to run tests and etc
Current guide https://github.com/OpenZeppelin/openzeppelin-sdk/blob/master/CONTRIBUTING.md describes only git flow
3 Likes
Hi @melnikaite
Welcome to the Community Forum . Great to have you here.
Thanks for the Pull Requests that you have been making.
I agree that there is a need for more detail on how to contribute to the OpenZeppelin SDK.
Currently the (minimal) instructions are:
Clone the repository git clone https://github.com/OpenZeppelin/openzeppelin-sdk.git
Run npm install
on the root project directory
Run npx lerna bootstrap
.
Change to the packages/cli
directory
Run npm test
.
1 Like
Error: Cannot find module '/Users/melnikov/projects/openzeppelin-sdk/packages/cli/build/contracts/ImplV1.json'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:668:15)
at Function.Module._load (internal/modules/cjs/loader.js:591:27)
at Module.require (internal/modules/cjs/loader.js:723:19)
at require (internal/modules/cjs/helpers.js:14:16)
at Function._getFromPath (/Users/melnikov/projects/openzeppelin-sdk/packages/lib/lib/artifacts/Contracts.js:90:24)
at Function.getFromLocal (/Users/melnikov/projects/openzeppelin-sdk/packages/lib/lib/artifacts/Contracts.js:53:26)
at Object.<anonymous> (/Users/melnikov/projects/openzeppelin-sdk/packages/cli/test/utils/events.test.js:10:26)
at Module._compile (internal/modules/cjs/loader.js:816:30)
at Module.m._compile (/Users/melnikov/projects/openzeppelin-sdk/packages/cli/node_modules/ts-node/src/index.ts:439:23)
at Module._extensions..js (internal/modules/cjs/loader.js:827:10)
at Object.require.extensions.(anonymous function) [as .js] (/Users/melnikov/projects/openzeppelin-sdk/packages/cli/node_modules/ts-node/src/index.ts:442:12)
at Module.load (internal/modules/cjs/loader.js:685:32)
at Function.Module._load (internal/modules/cjs/loader.js:620:12)
at Module.require (internal/modules/cjs/loader.js:723:19)
at require (internal/modules/cjs/helpers.js:14:16)
at /Users/melnikov/projects/openzeppelin-sdk/packages/cli/node_modules/mocha/lib/mocha.js:231:27
at Array.forEach (<anonymous>)
at Mocha.loadFiles (/Users/melnikov/projects/openzeppelin-sdk/packages/cli/node_modules/mocha/lib/mocha.js:228:14)
at Mocha.run (/Users/melnikov/projects/openzeppelin-sdk/packages/cli/node_modules/mocha/lib/mocha.js:536:10)
at /Users/melnikov/projects/openzeppelin-sdk/packages/cli/node_modules/truffle/build/webpack:/packages/truffle-core/lib/test.js:118:1
Truffle v5.0.5 (core: 5.0.5)
Node v11.15.0
npm ERR! Test failed. See above for more details.
1 Like
Hi @melnikaite
I get the same on master
when I run npm test
openzeppelin-sdk/packages/cli$ npm test
I can run some tests if I compile first
openzeppelin-sdk/packages/cli$ npx truffle compile
It helped a bit, but now it complains about project file
Error: OpenZeppelin file .openzeppelin/project.json not found. Run 'openzeppelin init' first to initialize the project.
at new LocalController (/Users/melnikov/projects/openzeppelin-sdk/packages/cli/src/models/local/LocalController.ts:32:13)
at Object.<anonymous> (/Users/melnikov/projects/openzeppelin-sdk/packages/cli/src/scripts/link.ts:7:22)
at Generator.next (<anonymous>)
at /Users/melnikov/projects/openzeppelin-sdk/packages/cli/src/scripts/link.ts:7:71
at new Promise (<anonymous>)
at __awaiter (/Users/melnikov/projects/openzeppelin-sdk/packages/cli/src/scripts/link.ts:3:12)
at Object.link [as default] (/Users/melnikov/projects/openzeppelin-sdk/packages/cli/src/scripts/link.ts:16:12)
at Command.<anonymous> (/Users/melnikov/projects/openzeppelin-sdk/packages/cli/src/commands/link.ts:32:13)
at Generator.next (<anonymous>)
at fulfilled (/Users/melnikov/projects/openzeppelin-sdk/packages/cli/src/commands/link.ts:4:58)
1 Like
I manually ran npx oz init
and then npm test
and get the majority of the tests to run.
718 passing (7m)
6 pending
7 failing
We still need official instructions.
Thanks a lot!
We can add npx truffle compile
and npx oz init @openzeppelin/cli --no-interactive
commands to packages/cli/scripts/test.sh
script
1 Like