microsoft / rushstack

Monorepo for tools developed by the Rush Stack community
https://rushstack.io/
Other
5.95k stars 599 forks source link

[heft] heft test --lite should run tests #2568

Open scamden opened 3 years ago

scamden commented 3 years ago

expected behavior: heft test --lite runs the equivalent of heft build --lite and then runs tests actual: it does the equivalent of build lite but then doesn't run tests.

iclanton commented 3 years ago

This was designed this way to allow a repo that uses heft in all of its projects to have the heft test command be the "build" script for all projects, and allow a user to run rush build --lite to skip tests. The purpose of --lite was originally to only do the steps necessary to build downstream projects.

However, I see your point. This is something that should come with the Rush multi-phase build feature, along with the elimination of the somewhat strange heft test --no-test flag.

scamden commented 3 years ago

Ok sounds good. Ya our use case was to want to avoid linting actually. We worked around it by simply naming .eslintrc.js eslintrc.json, but if there were a --no-lint flag that would have solved our use case cleanly. (We lint only staged files on commit and use vscode for it primarily as we edit so the full lint on build felt a bit heavy)

rush build --lite to skip tests

wouldn't the --no-test flag accomplish that? or was the intent to wrap both linting and testing into the exclusion?

the somewhat strange heft test --no-test flag.

haha ya i found that one funny, but i see the value of using it as a central build command as well. That one does what I expect the lite one just seemed less expected. I look forward to the upcoming phase feature!