Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Don't store revisions in package.json #6109

Merged
merged 5 commits into from Jun 29, 2020

Conversation

jackfranklin
Copy link
Collaborator

It's quite messy to have to require the package.json file in multiple
places purely to find out what revision of a given browser we want to
use. We can also achieve better type safety by placing it in an actual
source file.

This commit makes that change and also tidies up our reliance on
package.json within the source code generally; we now only use it to
find the location of the Puppeteer root such that we know where to
install downloaded browsers to.

To avoid using package.json to parse the name of the module, we also
now explicitly have an entry point for the Puppeteer module and the
Puppeter Core module. This will make it easier in the future to ship
less code as part of core (e.g. core never needs to download a browser,
so why ship that code?).

The test install script has also been updated to ensure that
puppeteer-core can be installed correctly too.

@mathiasbynens
Copy link
Member

LGTM! Thanks.

The next time we roll Chromium, we should update the example PR in CONTRIBUTING.md, since it'll now affect a different file.

(e.g. core never needs to download a browser, so why ship that code?).

core also doesn't need the info in revision.ts :P

@jackfranklin jackfranklin force-pushed the stop-using-package-for-revisions branch from 4d13872 to 70c0e40 Compare June 29, 2020 08:56
It's quite messy to have to require the `package.json` file in multiple
places purely to find out what revision of a given browser we want to
use. We can also achieve better type safety by placing it in an actual
source file.

This commit makes that change and also tidies up our reliance on
`package.json` within the source code generally; we now only use it to
find the location of the Puppeteer root such that we know where to
install downloaded browsers to.

To avoid using `package.json` to parse the name of the module, we also
now explicitly have an entry point for the Puppeteer module and the
Puppeter Core module. This will make it easier in the future to ship
less code as part of core (e.g. core never needs to download a browser,
so why ship that code?). Core can also then not have any revisions based
info contained in it.

The test install script has also been updated to ensure that
puppeteer-core can be installed correctly too.

Finally, the `install` script has been moved to TypeScript for nicer
typechecking and safety. The functionality of it has not changed.
@jackfranklin jackfranklin force-pushed the stop-using-package-for-revisions branch from 2896b0e to 78c313b Compare June 29, 2020 12:48
@jackfranklin jackfranklin merged commit 1f5e333 into main Jun 29, 2020
@jackfranklin jackfranklin deleted the stop-using-package-for-revisions branch June 29, 2020 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants