A collection of boilerplate config to be used by Web3Studio projects.
$ yarn add --dev eslint-config-web3studio eslint prettier pretty-quick husky
# For projects with Smart Contracts
$ yarn add --dev solhint-config-web3studio solhint prettier-plugin-solidity
In your .eslintrc.js
file:
module.exports = {
extends: [
'web3studio',
'web3studio/truffle' // For projects using truffle
]
};
In your .prettierrc.js
file:
module.exports = require('eslint-config-web3studio/prettier');
In your .solhint.json
file:
{
"extends": ["solhint:recommended", "web3studio"]
}
In your package.json
file:
{
"husky": {
"hooks": {
"pre-commit": "pretty-quick --staged"
}
},
"scripts": {
"lint": "yarn lint:js && yarn lint:sol",
"lint:js": "eslint .",
"lint:sol": "solhint \"**/*.sol\"",
"prettier": "prettier \"**/*.{js,json,css,md,sol}\" --write"
}
}
NB: For maintainers only.
web3studio-standards
uses Semver for versioning.
Based on the changes since the last release, determine which type of
release this is, major
, minor
, or patch
.
Use lerna to update all of the packages to the new version, and create a pull request. Travis will handle publishing to npm.
For example, to release a new major version...
$ git checkout -b release/v1.0.0
$ yarn lerna:version major
$ git push origin release/v1.0.0 --follow-tags
# Open a pull request from `release/v1.0.0` => `master`