Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Introduces 2 new files:
justfile
andflake.nix
in the project root. These provide a few new commands that are helpful for developers:just build
: build an executable which will be available via a symlink at./result/bin/crytic-compile
just install
: after building, install the built result (aka add it toPATH
) so that it's available by just typingcrytic-compile
just dev
: pre-packaged, hermetically sealed dev environment, no virtualenvwrapper needed. This command will open a new shell that exposes a temporary and hot-reloadablecrytic-compile
, this executable will update when the source code changes for a quick and easy tweak/check cycle. (TODO: this works nicely withnix-shell shell.nix
but is not hot-reloadable via flake.nix, I should fix this)just lint
: runsblack
,darglint
,mypy
, andpylint
code formatters/lintersjust black
: runs only theblack
code formatter (ditto for the other lint commands)just test
: runs all available tests (onlyhardhat
andmonorepo
tests for now, more coming soon)just test-hardhat
: runs only the hardhat tests locally (also works withmonorepo
)Keep in mind:
nix
andjust
to be installed. Ifnix
is already installed, you can installjust
withnix-env -iA nixpkgs.just
or add it to yourconfiguration.nix
file if you're using NixOS/nix-darwin.just lint
should take on the order of 20 seconds and negligible bandwidth. Luckily, if some other project requires the same dependencies, they'll be cached & won't need to be downloaded again. The dependencies required to run thebuild
,dev
, andlint
commands overlap but are not identical so each one will take a while to run the first time.just
and/ornix
, ignore these few new files & continue developing as you always have, nothing else should be impacted.