The final size of renderer.prod.js is about 4.75mb. 2.35mb of this comes
from react-icons.
Update the react icon imports to import only the specific icons that we
use. This reduces the final size of renderer.prod.js by about 50%
This enables easy access to all lnd settings for development, and is a step
toward relying on an external configuration file that will be accessible to
users for whom the code is not.
Webpack environment `mode` is defined directly in our environment
specific webpack config files. Due to this, we no longer need to
manually set `NODE_ENV` or check to ensure that it has been set.
See:
- https://webpack.js.org/concepts/mode/
Webpack v4 introduced a new `mode` setting, which - amongst other
things - automates the definition of the NODE_ENV environment variable.
We already had the `mode` settings set in our webpack configs so this
change is just to clean up some redundant code that is handled
automatically by this setting.
See:
- https://webpack.js.org/concepts/mode/
pass the `--raw` flag to concurrently so that we output the raw output
of processes. This disables concurrently prettifying and provides a more
legible output for our scripts.
grpc-node provides node bindings that are specifically targeted towards
electron. Make use of these rather than force compiling grpc on install.
See https://github.com/LN-Zap/zap-desktop/issues/420
**Readme**
- Update format to conform to `standard-readme` format
- Tidy up header section
- Add table of contents
- Add security section
- Add help section
- List maintainers
- Add contribution notes
- Add contributors list
**Contributing**
- Add table of contents
- Add contribution faq
- Add contribution guidelines
**Advanced**
- Add table of contents
Automatically validate commit messages according to the Conventional
Commit standard in a git commit-msg hook.
This functionality is optional and can be enabled by adding a .opt-in
file with a line `commit-msg`.
See:
- http://conventionalcommits.org/
- https://github.com/marionebl/commitlint
Currently we use eslint and prettier to lint and format code. However,
running the linter is a manual step that is easy to forget.
To improve this we run our lint scripts in a git pre-commit hook. This
functionality is optional and can be enabled by adding a .opt-in file
with a line `pre-commit`.
Currently we use eslint to lint code, but formatting the code according
to our ruleset is a manual process.
Implement `prettier` so that code is automatically formatted as part of
our development workflow.
See https://prettier.io/
Among other things, this makes no-console an error rather than a warning.
https://eslint.org/docs/rules/no-console
Given that we now have a proper logging facility, good to prevent incidental
introduction in the future.