nodejs / package-examples

Repository documenting package shipping patterns
MIT License
4 stars 1 forks source link

Bootstrapping the initiative: TODOs? #2

Open joyeecheung opened 1 week ago

joyeecheung commented 1 week ago

A few TODOs come to mind:

  1. Starting a team for looking into the package shipping patterns. We'll need to set up contribution guidelines and team onboarding/offloading/consensus seeking. It would be great if we can get maintainers of bundlers and package automation tools involved to discuss and keep folks on the same page about the understanding of these practices.
  2. Looking into existing shipping patterns on npm. When I was investigating the module loading patterns of high-impact npm packages, I saw there are many packages out there using patterns that are not documented in the previous package.md. In fact the practices recommended by the previous documentation were considered less preferable in some cases. See https://github.com/nodejs/node/issues/52174 which recommends node/default over import/require. We should look into documenting what the community actually does, and if necessary, document discussions about their pros and cons.
  3. Discuss the recommended way to ship packages for various kinds of support goals. In particular, for these scenario
    • A package that has been authored in TypeScript/ESM, and has been shipping dual or faux ESM, and wish to ship native ESM for newer versions of Node.js
    • A package that has been authored in CJS, and wish to transition to ESM while maintaining CJS support for older Node.js releases while require(esm) is still experimental.
    • ..more scenarios to come, we should open separate issues to track these, but we'll get more productive after 1 is done.
  4. Reaching out to existing high-impact packages that intend to ship native ESM to validate what we document
  5. Work with community content creators to spread the word about the recommended patterns and migration practices. Maybe also reach out to some high-impact tutorials/documentations out there to update too, to prevent future users from picking up the obsolete practices from the top search results.
joyeecheung commented 1 week ago

cc @nodejs/tsc @nodejs/loaders for visibility