chore: add a prepare step so that git dependencies build
Community guidelines:
- [x] I have read and understand the contributing guidelines and code of conduct
This PR contains:
- [ ] bugfix
- [ ] feature
- [ ] refactor
- [ ] documentation
- [x] other
Are tests included?
- [ ] yes (bugfixes and features will not be merged without tests)
- [x] no
Breaking Changes?
- [ ] yes (breaking changes will not be merged unless absolutely necessary)
- [x] no
List any relevant issue numbers: none
Description
It is convenient to be able to specify dependencies in package.json which point to particular git commits. One use case is allowing dependencies on PRs which are not yet merged and published to npm.org.
In theory this should be achievable via:
"jest-chrome": "extend-chrome/vitest-chrome#some-PR-branch-name"
https://docs.npmjs.com/cli/v8/configuring-npm/package-json#git-urls-as-dependencies states:
When installing from a git repository, the presence of certain fields in the package.json will cause npm to believe it needs to perform a build. To do so your repository will be cloned into a temporary directory, all of its deps installed, relevant scripts run, and the resulting directory packed and installed.
This flow will occur if your git dependency uses workspaces, or if any of the following scripts are present:
buildprepareprepackpreinstallinstallpostinstall
And indeed jest-chrome already has a build script.
However it seems that, at least with pnpm, the presence of a build script is not sufficient.
So add a prepare script which just dispatches to the build script. This makes jest-chrome installable via a git dependency.
See also https://github.com/probil/vitest-chrome/pull/2