This is fairly easy to do with cargo and npm.
When I run it from the shell $ pylint src && pylint tests, I have no problems.
But when I run it as a pipenv script
[scripts]
lint = "pylint src && pylint tests"
$ pipenv run lint
************* Module &&
&&:1:0: F0001: No module named && (fatal)
Pylint thinks && is another module.
Is the pipenv runtime not just the terminal?