You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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 Recommend node/default conditions instead of require/import as a solution to the dual package hazard node#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.
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.
Reaching out to existing high-impact packages that intend to ship native ESM to validate what we document
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.
A few TODOs come to mind:
node/defaultconditions instead ofrequire/importas a solution to the dual package hazard node#52174 which recommendsnode/defaultoverimport/require. We should look into documenting what the community actually does, and if necessary, document discussions about their pros and cons.require(esm)is still experimental.