Bootstrapping the initiative: TODOs?
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Documentation
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- javascript, node.js, typescript
- Domain
- documentation
Research direction
Start by reviewing the previous package.md documentation, the high-impact npm package research, and the linked Node.js discussion. Define the separate package-shipping scenarios and the community research needed before documenting recommendations. Done means the initiative has clear contribution and validation steps plus agreed documentation topics.
Written by the indexing model from the issue text.
Description
A few TODOs come to mind:
- 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 https://github.com/nodejs/node/issues/52174 which recommends
node/defaultoverimport/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.
- Dominant language
- JavaScript
- Stars
- 87
- Forks
- 11
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from nodejs/package-examples
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
nodejs/package-examples#17 · 11 comments · 1 reaction ·
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
nodejs/package-examples#3 · 8 comments · 6 reactions ·
All issues in nodejs/package-examples
Similar issues
-
code-quality refactoring
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
optimization optimization:agents-md-curator
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
githubnext/gh-aw-cao#13143 ·
-
status: needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100