Closed mikkmartin closed 3 years ago
It would help also if metascraper is used inside a cloud function. It should reduce the startup time if we have only one package to download instead of 10. updating package would be more easier as well.
Thanks for the feedback. It's true the API could be more affordable for the user, but it's explicitly for a reason.
If people do metascraper/all
for sure they are not going to know what is under the hood. An explicit interface is revealing more about the project, and also suggests you there are more other packages that you can explore for your use case.
Also, your suggestion has an assumption: what is the core? that could be different based on the user case (e.g., metascraper-clearbit
is not considered core since it's an external service)
Also, note each package has its own semver version, so you only update what changed, not the whole.
The two ways of doing can coexist: We can imagine a package with the essentials. (url, title, description, image, publisher) if we estimate that 90% of use cases include those.
but if someone has a different setup, he can continue to use individual packages.
Agreed. Including vendor specifics like metascraper-clearbit
in the main export would be an overkill for most people.
Makes sense to me that "all" packages are "core" tags and vendor tags are manually included extensions / individual imports.
Ideally in my opinnion following Make It Work Make It Right Make It Fast. Making it work should be straight forward one package install, and making it right/fast – should be checking what's under the hood in readme.md IF you even need include/exclude something and use an explicit syntax.
Closing since it's not a priority right now, will be revisited in the future
Great package, some constructive critique.
Subject of the issue
Current package/import logic has some DX downsides: Really labor intensive to import all 9 packages (eg. prototyping / testing out the metascraper). Especcially using online editors like codesandbox where It's common to import one-by-one from an UI field.
Expected behaviour
Have you considered importing all core packages
or importing all with
like with the massive d3 packages
Actual behaviour